The 75% answer
lbrandy.com
lbrandy.com
Accept their our other common misteaks people make, so its not at all clear that you'll get to 75%.
No; If you want a laptop and don't know what OS to go for and don't have a strong preference already, pick OS X. Not "OS X is the only option".
If you already want Windows or want the cheapest and therefore picked Windows then you're not asking non-questions on the web and you're not the target of the blog post.
The above quote is take from "Elegant Web Typography" by Jeff Croft
http://www.slideshare.net/jeff_croft/elegant-web-typography-...
They are not my answers, but that's very far from being the point. Well, actually, that IS the point!
What a horrendous answer, no new programmer should start with C in 2009, java or php or python or any damn thing but C and jockeying memory references.
Perhaps C offers a sweet spot of being able to accomplish something with minimal effort, but still gaining a deep understanding of what the computer is actually doing.
http://www.cs.cmu.edu/afs/cs/academic/class/15213-f01/www/
From the syllabus:
1. Int’s are not integers, Float’s are not
reals. Our finite representations of numbers
have significant limitations, and because of
these limitations we sometimes have to think in
terms of bit-level representations.
2. You’ve got to know assembly language.
Even if you never write programs in assembly,
The behavior of a program cannot be understood
sometimes purely based on the abstraction of a
high-level language. Further, understanding the
effects of bugs requires familiarity with the
machine-level model.
3. Memory matters. Computer memory is not
unbounded. It must be allocated and managed.
Memory referencing errors are especially
pernicious. An erroneous updating of one object
can cause a change in some logically unrelated
object. Also, the combination of caching and
virtual memory provides the functionality of a
uniform unbounded address space, but not the
performance.
4. There is more to performance than
asymptotic complexity. Constant factors also
matter. There are systematic ways to evaluate
and improve program performance
5. Computers do more than execute
instructions. They also need to get data in and
out and they interact with other systems over
networks.*EDIT - I made a stupid comment... they have C assignments in that class. I'll leave it for others amusement. I have seen that style of starting with a high level language though...
Really, nothing teaches low-level programming better than starting with gates and building your way up to programs. The sequel to that class teaches how to deal with pipelining, CPU caches, and multiple-execution chips like the TI DSPs, so after you design your processor, you get to see how real CPUs work. It's really fun, actually.
The intro computer architecture course used _Computer Organization and Design_ by Patterson and Hennessy. The practical component described here was driven by handouts, I'm not sure the text follows building something like this.
Yes, modern languages are better then C. But they are not perfect. Programmers using them still have a lot of problems to solve and things to learn. It's just different things then with C, or assembly, or wiring transistors by hand. You have to face it, pointer arithmetic, while tremendously important in C, isn't really very useful in other languages. Knowing when the gc likes to start collecting on the other hand may be a good piece of information.
If you want to get fancy, Gill Sans and some variety of Garamond respectively.
If you're printing code or data, Consolas is a very pretty monospaced font, followed up by Droid Sans Mono, Lucida Typewriter, DejaVu Sans Mono, or Andale Mono.
Uh... isn't this blog black on white?
Reminds me of using the principle of mediocrity proposed by physicist Alex Vilkenkin to make cosmological predictions when dealing with things like inflationary theory. If there is a bell curve for some constant we are trying to establish, we predict this constant will be somewhere in the middle, chopping of the two extremes at both ends. Thus, say the theory is some version of Guth's inflationary theory, and it predicts a constant that varies over some spectrum. Thus we predict we will see that constant to lie somewhere in the middle of the bell curve. Thus, if we observe or measure that constant to be somewhere around where we had predicted it, that lends weight to the theory we were working from. The idea being that we live in an average world, e.g. in an "average" inflationary bubble, hence the principle of mediocrity. The key point is that we CAN actually use statistics to make predictions about the world, and need not have to always make precise predictions, which, in some versions of string and/or inflationary theory, one cannot, simply because of the infinite number of bubbles in inflation or the near-infinite number of possible string theories (10^500 values for the false vacuum I think I read somewhere).
Anyway the idea that there is no one right answer to a question that works everywhere seems sound in some cases.