I had StratCon for my Apple IIGS. Played it every evening between dinner and bedtime for months. Great game for its time.
Everyone who programs for a living should learn LISP or Scheme or similar. Unless that's all they know, then they should learn C or Java or something else with a big imperative component.
Knowing different programming paradigms makes you a better programmer in whatever language you use, because different probems map better (sometimes much, much better) to different approaches.
K&R is a great book. If you want to learn C, you need look no further.
However, I wouldn't say that if someone doesn't know what pass by value vs. reference is that the solution is to learn C. The solution is to learn more about programming language theory. Then you can apply it to all languages you learn.
If you have infinite time or are really interested in how these things work, I think it's unnecessary. Sure, some programmers do really need to know exactly how malloc and free work, or how string functions are implemented. But the vast majority do not. What you need to know about details like that depend massively on the type of programming you do.
I agree except "five years"? More like 6 months, in my experience (sometimes even less). IMNSHO, any code you wrote and haven't looked at for 6 months or more was effectively written By Someone Else. Unless you're on a really short term with your current employer, writing good code with good comments isn't just good professional behavior and being considerate to the next guy, it's for you, too, so when you boss asks you next year to add feature X to that code you wrote you won't waste time flailing around trying to understand (again) code that *you wrote*.
It's true that *a lot* of cargo moves by rail in the US, and that's a Good Thing because it's so much cheaper for cargo than any other option. And I agree we should not ruin it.
However, I'm not sure that means we can't have better passenger rail, esp. in the more dense parts of the country. And I'm not as sure as you that Americans Just Like Flying Better. I'd be much more inclined to take the train if it weren't: A) more expensive than flying, B) have very few scheduling choices, and C) take for freaking ever not because the trains just go slower than planes but because you have to wait 12h between trains in one station and 6h in another for another train.
And did I mention they cost the same or, often, *more* than flying?
If it were cheaper and there were more options schedule-wise, I think a lot more people would take the train.
Reminds me of the Monty Python contest where the winner's choices of prize include A Poke in the Eye and A Boot in the Teeth.
Where to draw the line with "linkage" and the GPL has seemed like a problem to me for a long time. There are two clear points along the linkage scale everyone seems to agree with. Suppose you have GPL'ed software G:
1. Connecting to G via TCP/IP sockets with software client C does not force C to be GPL'ed. For example, GPL'ed web servers have no impact on the license of web browser.
2. If software S links with G, in the conventional static or dynamic way (i.e., incorporating a
This distinction is pretty clear in itself, but it's pretty artificial. You can make TCP/IP connections look like function calls, and vice versa, with appropriate libraries. And now we're seeing the real problem with this approach, now that separate code "modules" are being "linked" in new and different ways.
By the argument in this article, are Java applications and applets run on a GPL'ed JVM required to be GPL'ed?
I support the principles of the GPL and I'm really glad authors can and do use the GPL for stuff they make. I'm not sure, though, if there's a principled way to say when "linking" makes something a derived work.
Everything is vague to a degree you do not realize till you have tried to make it precise. - Bertrand Russell
Reminds me of one of the buildings at CMU (Wean), which was on a steep hill and thus had ground floor entrances on floors 1, 4, and 5.
I agree. Maybe this is just a sign of my age, but in my mind "computer" and "phone" occupy two different zones. My phone is much more of an appliance, like my microwave oven, that I really want to Just Work. If it has some extra features, cool, but they can't prevent the core function from Just Working.
My computer, OTOH, I really like being a general device and would never buy one that I couldn't install arbitrary stuff onto.
So I'm not crazy about the iPhone Apple Store tie-in, but I can live with it.
As for the iPad, I think I want my tablet device/ebook reader to be a computer, too.
It may be different if you're developing at the level of VHDL, so the following may not apply.
But I'm glad you don't have anything to do with hiring at my software company. Knowing more programming languages, especially from different paradigms, makes you a better programmer in all of them.
The best console for you depends on what games you like.
I have young kids, so I'm really happy to have a Wii instead of another console. It's also a great platform to have if you've got family or friends who are casual gamers.
I have a PC and play my serious games on that. This configuration works great for me.
YMMV. Void where prohibited. If nausea, vomiting, or death occurs, discontinue use.
I agree. I think his heirs really have an inflated sense of his presence. I've seen Blade Runner multiple times and am a big sci fi fan, and my first thought when I saw a headline saying Nexus One might infringe on something of Dick's was "Huh?" Even when the connection to Blade Runner was made, I still had no idea. Virtually nobody remembers the name "nexus" in connection to Dick's work.