Slashdot Mirror


User: david.emery

david.emery's activity in the archive.

Stories
0
Comments
813
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 813

  1. a Contrarian opinion: Scheme, Smalltalk, Ada95 on Learning Java or C# as a Next Language? · · Score: 1

    If we presume you know C pretty well, I'd recommend Something Completely Different, such as Scheme, Smalltalk or Ada95. The reason is that too many similar languages don't really add that much to your underlying knowledge. As has been pointed out, both Java and C# are similar Object-Oriented languages, and aren't all that different from C++, if you know that. Scheme, or any of the Lisp dialects provide a substantially different programming paradigm.

    Another alternative, although Politically Incorrect, is Ada95. Three things make Ada95 significantly different: First it's strongly typed, and there are substantial advantages to learning how to make use of type models. Second, Ada provides a separation of program modularity (via packages) from class heirarchy, and it's interesting to see how this separation can be used. Third, Ada95 provides a very rich set of facilities for concurrency, and learning good concurrent programming is a very valuable skill.

    Smalltalk provides yet another view of OO programming, and it's definitely worth concentrating on the Model-View-Controller paradigm.

    But it all boils down to the conflict between education and training. Both Java and C# are good for near-term employment prospects. But if you're after education, learning to think in another programming paradigm is well worth your time in the long run. Languages come and go, but programming skills stay. And, by learning a substantially different language now, you'll increase your ability to learn the Next Big Thing language when it arrives.

    Oh, and as someone who has interviewed a fair number of software engineers, I -never- hire someone who knows only 1 language, and in that regard I do not "give credit" for C and C++ as sufficiently different. (Way too many people code C++ as bad C...) In some cases, I've sent people back to school to learn another language, because they had talent that needed additional education. But then, I don't hire people solely for "cranking out code," even though that seems to be the pattern in much of the industry these days. (Bad coders => bad code => bad software, and the kinds of things I work on value quality much more than time-to-market, because people's lives tend to depend on them... Your job may vary.)

            dave

  2. Reliable domains are part of the solution on Evolving Phishing Attacks Using Web Vulnerabilities? · · Score: 1

    It sure seems to me that a big part of the solution is to establish some legitimate trust mechanism for domains. This applies to email and to HTTP packets.

    No I don't have a solution, but to use a famous analogy, lack of trust on domain addressing is equivalent to unlocked doors. It's still against the law to open the unlocked door, but at some point you really do need to install the locks.

            dave

  3. 'Big software' examples on Woz Says Big Software Doesn't Work · · Score: 1

    How big is big? How much software do you suppose is in a commercial airliner? How about the F22? (I think the answer is order 100k for flight control on 777, and 1m for F22, but that's based on vague recollections. I do know that it's bigger than a breadbox in both cases.)

    There are two core problems here:
            1. We rarely have time to do it right, even when we know how
            2. We don't emphasize correctness in our development tools or methods or in our business practices.
    Personally I'm totally frustrated by the attitude of "it doesn't have to work", both from software developers and from software consumers.

            dave

  4. Economics, DRM and low demand music on Digital Music Stock Market? · · Score: 1
    My concern is how I get access to low-demand stuff. My primary interest is in medieval and renaissance music, not high-volume pop music (E.g. Britney Spears, ugh!). Stores like Magnatune can support this, though the low overhead necessary to keep access to niche stuff viable; we need to insist that things like the Apple Store and other DRM-based systems don't prevent this.

    One nice thing about my iPod is that it can play MP3 and WAV. One bad thing about my iPod is that it doesn't support any DRM other than Apple's... (But, I have never had the problem where something I wanted to listen to wouldn't play on my iPod. In part that's just because my music sources tend to be either Apple DRM, or have no DRM at all...)

    dave

  5. On code commenting on How to Write Comments · · Score: 1, Interesting
    Comments should concentrate on the "why", the code itself should be clear about the "what" and "how".

    Specifying the "what" in a human-readable form is a strength of some languages including COBOL and Ada. No one (hopefully) would argue that C-based syntax is particularly intuitive, and that common practices that emphasize brevity also are focused on reader comprehension. Where the language doesn't aid comprehension of the "how" or "what", comments should help.

    In 25+ years in this business, I've seen everything from

    i++; /* increment i */
    to code preambles that resembled War and Peace.

    dave

  6. This works both ways... on Canada Moves to Keep Skilled Workers · · Score: 0

    Any competent Canadian who is tired of the taxes or oppressive government control and policies, or who doesn't feel that s/he should have to learn French to get ahead, is welcome down here in the land of opportunity. Don't forget that the free flow of technical workers is protected by NAFTA.

            dave (who spent 2 1/2 years in Vancouver and still has some RRSPs from the experience...)

  7. How to achieve good playability/balance? on Ask Sid Meier · · Score: 0

    One of the hallmarks of your games is their playability at various skill levels. How do you achieve this, which seems to be a balancing act among the various design parameters/options (i.e. "right amount" of complexity)? In particular, what role does playtesting contribute, vs intuition or other design methods?

              dave

  8. Education is not training! on Computer Science Curriculum in College · · Score: 0

    Part of the problem is that industry now considers colleges as training environments, not educational institutions. I'm with the people who say things like "do you think will be around in a couple of years?", especially for things that have become buzzwords over the last 5 years, such as XML, UML, various Java cool topics-du-jour, etc.

    I value my own education in analysis of algorithms, core principles such as concurrency (taught in a Principles of OS course), etc.

    More importantly, the mono-lingual academic environments are actively harmful. I will NOT hire anyone who is not fluent in at least two significantly different programming languages (C and C++ don't count, because it's rare that you find people who understand the differences between these two languages.)* And I'm getting very suspect of C++ and Java, since again the common practice represents these as a single approach to programing with somewhat different syntax.

    When I hire, I'm looking for someone with a good grounding of the basics across the core disciplines, who can think and learn whatever new (or old :-) specific technology I have this year to work on.

    Both Computer Science and Software Engineering education has, in general, failed both the student and the long-term employer. But it has sure populated the "slap the code together and invoke the debugger" culture that seems to predominate these days.

            dave

    * p.s. Regardless of what a Communications of the ACM article said about a year ago, "HTML" is NOT a programming language and does not count against your two language requirement.

  9. How About OSX and IPNetRouterX? on What is the Best Firewall for Servers? · · Score: 0

    Consider an older (PowerPC) Mac running IPNetRouterX...

    The software is less than $100, and I'm presuming you can scrounge a Mac, although even older Macs tend to be useful...

    dave

  10. Tech Support industry on Tech Support Businesses on the Rise · · Score: 0

    Is one reason why Microsoft products suck so badly. Look at the relationship between the people who employ and profit from growth of tech support, and the people who market or purchase computers. Not only BestBuy and CompUSA, but corporate CIO/IT infrastructures prosper through the proliferation of headcount and costs associated with maintaining crapware.

    dave

  11. Puh-leezzee! on Microsoft's Most Successful Failure · · Score: 0

    That article was one of the worst apologies for Microsoft (should be legally actionable) incompetence I've seen. And the implication that MS learned from this flies in the face of .... XP Service Pack 2 (and subsequent security fixes, how many have there been?). I do acknowledge that Microsoft has made patching easier; it's not fixed the inherent problems that cause the patches.

    I'm unconvinced that Microsoft is really willing to accept what it must do, which is a bottoms-up redo of all their infrastructure. Will Longhorn do this? We'll see if it ever ships!

    In the meantime, I'm sticking with MacOS X, regardless of what processor it runs on :-)

    dave

  12. Re:Microsoft should pay the piper on EU Deadline Approaching for Microsoft · · Score: 0

    I think this is over-written and over-blown...

    Microsoft has proven to be a master of marketing, including the ability to define, capture and hold markets. Some of its tactics are legal, some probably illegal (I think so, but I'm not qualified to have such an opinion in a court of law anywhere...) Many are potentially immoral, and most important to me, they're bad for technology and business as a whole.

    But that's not the same as citing the World Wide Microsoft Conspiracy...

    dave

  13. Ports improve quality on Porting Open Source to Minor Platforms is Harmful · · Score: 1

    As others have pointed out, my experience also supports that porting finds subtle bugs, undocumented assumptions and generally is a -great way- to improve product quality.

    Besides, as the long-time user of minority platforms, Open Source has been part of the antidote to the computing monoculture of incompetence that wafts from Seattle Suburbs...

    dave