Originally posted by: stonecold3169
I picked c++, just because it's the most practical language you listed...
BTW: <---- Current student at Clarkson university... you're the only person on this board I've found so far that knows where it is
Learn programming at that level and the rest is cake.
Originally posted by: kherman
Originally posted by: stonecold3169
I picked c++, just because it's the most practical language you listed...
BTW: <---- Current student at Clarkson university... you're the only person on this board I've found so far that knows where it is
MMmmm,, Clarkson. I remember the first year i was there. it snowed for the finals...in spring. That was Spring '95.
I hope they tear down new dorms. The floor layouts for those building are stupid as hell.
What's your major?
Originally posted by: Descartes
I was going to ask why you neglected to mention what has been considered the most popular development tool on the planet: VB; this was of course until I saw "I HATE MICROSOFT!" in your sig. *sigh*
Learn programming at that level and the rest is cake.
Not even close.
Sure, a jump to C and "C++ like C" (without employing any OO facilities) may be easier for those who know assembly than those who don't, but a jump to *any* other language (C++ w/ OO, Java, C#, and yes, VB) will be quite difficult if you know only assembly.
Note, I'm not implying C++ isn't inherently OO, I'm simply referring to how many people write C++ in C-style, perhaps only taking advantage of it's scoping rules and little else.
[edit]I'm going to make a notable exception to my assembly argument: MASM. It's collection of macros and other higher-level constructs would provide a smooth transition to a language like C (but not C++). Assembly w/ MASM is rather easy in fact... [/edit]
In terms of the language mechanics you are probably correct however the understanding of what underlies all programming languages once they are spit out of the compiler is what makes assembly language valuable IMHO.
Originally posted by: FeathersMcGraw
It depends what the goal of the teaching is. If it's to illustrate logical data structures, Java is probably a better choice than C. If it's to expose the underpinnings of the memory model to illustrate the architecture of the system, a lower language such as C or perhaps assembly is called for. And neither C nor Java are really well-suited towards implementation of functional programming paradigms, whereas Lisp and ML are.
Personally, I'm of the opinion that beginning students should start with higher-level languages and progress to the lower ones. I saw way too many people in CS classes in college struggle with language issues that were tangential to the actual issues being taught (folks who couldn't create a proper hashtable in C, for example, because they didn't have a decent understanding of memory allocation techniques). Of course, some of that may have been due to "weeder" design, but it's possible to be a competent software designer without being a crack coder (and vice versa).
Language is just an implementation detail. I'd rather see CS majors who know which tools to use (and perhaps where to find an appropriate instruction manual) rather than those who always reach for a hammer and try to turn every problem into a nail.
Originally posted by: ggavinmoss
I only use Scheme. Hahahahah.
-geoff
Originally posted by: ggavinmoss
I only use Scheme. Hahahahah.
-geoff
Originally posted by: vi_edit
Pascal.
Simple syntax. Follows structure, and teaches the principles of various programing techniques found in many languages.
VB is nice too, but it's kind of bad to start out with since it's more of a free flowing language and doesn't really teach you how to structure your programs well. It's nice though in that you can do some fairly impressive and powerful programs very quickly, and with very little effort. Doing the same thing in C++ or COBOL would take hours and much, much more code.
It's a nice beginner class and doesn't discourage many people.