To introduce students on programming? Which language is more appropriate now?
-
you somewhere on this thread said students are stupider, not smarter. Yet, you think assembler is a good place to start. THAT is the height of arrogant stupidity. I thought teachers were supposed to teach and help, not to confuse and dismay. Show me a class of 16 or even 18 year olds who would all benefit from starting programming with assembler. If they exist, it's because you're teaching at MENSA.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Why dont you reread what I wrote and particularly the part where I described two ways of looking at the wuesiton depending on the desired outcome.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
Why dont you reread what I wrote and particularly the part where I described two ways of looking at the wuesiton depending on the desired outcome.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
I read it. I found it very arrogant, as well as wrong. No matter what, I'd start with something that teaches good OO concepts and allows students to see results. I'd say if I was teaching someone to make money, I'd start with ASP.NET. If it was an engineer I was supposed to create, they'd be writing C# console programs for some time and using C# as a bed for learning programming concepts. Then I'd teach some C++ to teach them how C++ manages memory. Then I'd move on to winforms, or WPF. Somewhere along the line, towards the end of a long course, I may teach some assembler, but I'd not be so arrogant as to assume it would be remotely useful to most people, and certainly it would not be required. That's just dumb.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
No, I'm really not. Learning assembler, or even C, is a retarded place to start because any widely used language today is built on a platform of OO. If that is a false god or not is irrelevant. Learning something that's super complicated and goes against the most basic principles of the widely used languages is like teaching someone all the bad habits possible, and then later trying to break them of them. When I was using C++ every day, my world was surrounded by people who wrote the most awful, awful code. Why ? Because they learned C first, and never bothered to learn to use C++ where there was a C construct that still worked. For example, file handles instead of iostreams. Microsoft CArray instead of std::vector. You name it, and people didn't bother to learn C++ because they knew C, and it worked in C++. Yes, I know CArray is not C. But it was used for roughly the same reasons. It's also not a bad comparison because the only sane reason to teach someone assembler, or even C, is the idea that people need to know exactly how a computer works, to program it. Beyond that, they are hardly highly productive languages, nor do they come with the sort of frameworks that .NET does ( which makes it even more productive ), so what's the use of knowing it ?
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Hmm, did I not read recently that good old C still is the most widely used language? And using object oriented languages does not automatically enable to write good code. If you want to see some evidence for that, I have here the sources for an ASP .Net website where all the code was put into static methods. That is the same website that regularily fell flat on its face because it used outrageous amounts of memory. To make it short: What's worse? A programmer who does not know how to efficiently use the two most imortant resources of the machine, CPU and memory? Or a programmer who still has to learn more about a good design (which I see as a never ending quest)?
"I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
"Friar Modest never was a prior" - Italian proverb -
I read it. I found it very arrogant, as well as wrong. No matter what, I'd start with something that teaches good OO concepts and allows students to see results. I'd say if I was teaching someone to make money, I'd start with ASP.NET. If it was an engineer I was supposed to create, they'd be writing C# console programs for some time and using C# as a bed for learning programming concepts. Then I'd teach some C++ to teach them how C++ manages memory. Then I'd move on to winforms, or WPF. Somewhere along the line, towards the end of a long course, I may teach some assembler, but I'd not be so arrogant as to assume it would be remotely useful to most people, and certainly it would not be required. That's just dumb.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Of course this is where the men and the boys get seperated: Those who really know how computers work and can make them fly, and those who can only write applications to process some data.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
No, I'm really not. Learning assembler, or even C, is a retarded place to start because any widely used language today is built on a platform of OO. If that is a false god or not is irrelevant. Learning something that's super complicated and goes against the most basic principles of the widely used languages is like teaching someone all the bad habits possible, and then later trying to break them of them. When I was using C++ every day, my world was surrounded by people who wrote the most awful, awful code. Why ? Because they learned C first, and never bothered to learn to use C++ where there was a C construct that still worked. For example, file handles instead of iostreams. Microsoft CArray instead of std::vector. You name it, and people didn't bother to learn C++ because they knew C, and it worked in C++. Yes, I know CArray is not C. But it was used for roughly the same reasons. It's also not a bad comparison because the only sane reason to teach someone assembler, or even C, is the idea that people need to know exactly how a computer works, to program it. Beyond that, they are hardly highly productive languages, nor do they come with the sort of frameworks that .NET does ( which makes it even more productive ), so what's the use of knowing it ?
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Christian Graus wrote:
so what's the use of knowing it ?
Christian Graus wrote:
people need to know exactly how a computer works, to program it.
You said it yourself.
-
Hmm, did I not read recently that good old C still is the most widely used language? And using object oriented languages does not automatically enable to write good code. If you want to see some evidence for that, I have here the sources for an ASP .Net website where all the code was put into static methods. That is the same website that regularily fell flat on its face because it used outrageous amounts of memory. To make it short: What's worse? A programmer who does not know how to efficiently use the two most imortant resources of the machine, CPU and memory? Or a programmer who still has to learn more about a good design (which I see as a never ending quest)?
"I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
"Friar Modest never was a prior" - Italian proverbQuite.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
Hmm, did I not read recently that good old C still is the most widely used language? And using object oriented languages does not automatically enable to write good code. If you want to see some evidence for that, I have here the sources for an ASP .Net website where all the code was put into static methods. That is the same website that regularily fell flat on its face because it used outrageous amounts of memory. To make it short: What's worse? A programmer who does not know how to efficiently use the two most imortant resources of the machine, CPU and memory? Or a programmer who still has to learn more about a good design (which I see as a never ending quest)?
"I have what could be described as the most wide-open sense of humor on the site, and if I don't think something is funny, then it really isn't." - JSOC, 2011 -----
"Friar Modest never was a prior" - Italian proverbCDP1802 wrote:
Hmm, did I not read recently that good old C still is the most widely used language?
If that's the case, i assume that's counting people programming old mainframe code that needs maintenance programmers. Or it could just be the most widely used in terms of users, much of most OSes and also Office being written in C. So what ?
CDP1802 wrote:
And using object oriented languages does not automatically enable to write good code
Doh. Look at the quick questions for all the evidence you need of that. So what ? Does not knowing OO make you a better programmer ?
CDP1802 wrote:
To make it short: What's worse? A programmer who does not know how to efficiently use the two most imortant resources of the machine, CPU and memory? Or a programmer who still has to learn more about a good design (which I see as a never ending quest)?
They are both useless. However, in this day and age, it's usually the case that a computer can handle the former, better than the latter. I never said it was not a good idea to teach either of those things ( how to use resources, and good design ). I said that you learn good design by learning OO from the start, and going back to learn the things that were at first hidden from you. Who do you think feels the greater level of achievement ? The guy who spends a week getting assembler to say 'hello world', or the guy who spends a week getting C# to play a basic game, or run a calculator, or replace notepad ?
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
Christian Graus wrote:
so what's the use of knowing it ?
Christian Graus wrote:
people need to know exactly how a computer works, to program it.
You said it yourself.
Wow - way to totally misquote me. That's not worth responding to. The idea that someone needs to know exactly, in fine detail, how a computer works, to start learning to program it, is insanely retarded.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
Christian Graus wrote:
so what's the use of knowing it ?
Christian Graus wrote:
people need to know exactly how a computer works, to program it.
You said it yourself.
I recognise that even my knowledge isnt as good as it should be. I never learnt assemebler to use but I have had to debug into it a lot, and I wish I knew it better. But for sure C is a good starting point because it is close enough to the machine to get to know about memory. (It also makes quite tidy assembler. If you ever have to debug into assembly that came form C++ then you have my condolences!)
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
I recognise that even my knowledge isnt as good as it should be. I never learnt assemebler to use but I have had to debug into it a lot, and I wish I knew it better. But for sure C is a good starting point because it is close enough to the machine to get to know about memory. (It also makes quite tidy assembler. If you ever have to debug into assembly that came form C++ then you have my condolences!)
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
fat_boy wrote:
But for sure C is a good starting point because it is close enough to the machine to get to know about memory
As I said, every terrible C++ programmer I've worked with, never was good at C++, precisely because they learned C first.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
fat_boy wrote:
But for sure C is a good starting point because it is close enough to the machine to get to know about memory
As I said, every terrible C++ programmer I've worked with, never was good at C++, precisely because they learned C first.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
So hang on, lets work out whats going on here, you are actually crap at C yes? Pointers actually scare the shit out of you, and thats why you are so anti C?
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
Of course this is where the men and the boys get seperated: Those who really know how computers work and can make them fly, and those who can only write applications to process some data.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
Well, you see, you may be sufficiently insecure to talk crap like this, but I am not. I know more than my share about that stuff, I learned C++, proper C++ on the command line, then I learned MFC, then I went back to learn C and Win32, so that I could understand what MFC was hiding from me. I have not used C++ for some time because, in the windows world, it's a stupid choice, most of the time. As I said, the people who learned C first, didn't know it better than me, they just sucked at C++. Naturally, some people will learn 'how to write applications' and never learn how to 'make them fly'. So what ? The ones who learn in the ways I am suggesting, are in a better place to learn as much as they choose to, instead of being taught things that are over complicated, teach bad habits, and slow down the learning process.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
Well, you see, you may be sufficiently insecure to talk crap like this, but I am not. I know more than my share about that stuff, I learned C++, proper C++ on the command line, then I learned MFC, then I went back to learn C and Win32, so that I could understand what MFC was hiding from me. I have not used C++ for some time because, in the windows world, it's a stupid choice, most of the time. As I said, the people who learned C first, didn't know it better than me, they just sucked at C++. Naturally, some people will learn 'how to write applications' and never learn how to 'make them fly'. So what ? The ones who learn in the ways I am suggesting, are in a better place to learn as much as they choose to, instead of being taught things that are over complicated, teach bad habits, and slow down the learning process.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Christian Graus wrote:
Naturally, some people will learn 'how to write applications' and never learn how to 'make them fly'
I said computers fly, not applications. Clearly with out a good understanding of C you will never work in the kernel, and thats where the machine is, thats where the peripherals are. Thats where its engineered. Processes are just small VMs, you cant do much in the way of making a computer fly from a VM.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
So hang on, lets work out whats going on here, you are actually crap at C yes? Pointers actually scare the shit out of you, and thats why you are so anti C?
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
You are an ignorant fool. I had about 7 articles published by Windows Developers Journal, all in C. I wrote a ton of code at work, in C, as well as C++, over many years, for windows and also the Palm platform ( I wrote a database platform for Palm as it did not come with one, for example, all in C ). Microsoft gave me an MVP award for my answering questions on forums when all I knew was C and C++. So, yes, I guess I suck at C, and that's why I want to stop other people from learning it, because of my insecurities. Are you actually illiterate, or are you just projecting your insecurities on to me and not reading anything I said ?
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
You are an ignorant fool. I had about 7 articles published by Windows Developers Journal, all in C. I wrote a ton of code at work, in C, as well as C++, over many years, for windows and also the Palm platform ( I wrote a database platform for Palm as it did not come with one, for example, all in C ). Microsoft gave me an MVP award for my answering questions on forums when all I knew was C and C++. So, yes, I guess I suck at C, and that's why I want to stop other people from learning it, because of my insecurities. Are you actually illiterate, or are you just projecting your insecurities on to me and not reading anything I said ?
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
:laugh: :laugh: Just testing a hypothesis Christian.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
Christian Graus wrote:
Naturally, some people will learn 'how to write applications' and never learn how to 'make them fly'
I said computers fly, not applications. Clearly with out a good understanding of C you will never work in the kernel, and thats where the machine is, thats where the peripherals are. Thats where its engineered. Processes are just small VMs, you cant do much in the way of making a computer fly from a VM.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
*sigh* I am trying to work out if you're just saying garbage to toy with me, or if you really think that, for example, children being taught to read should start with Tolstoy, because Dr Seuss is obviously not real literature and should be ignored.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
*sigh* I am trying to work out if you're just saying garbage to toy with me, or if you really think that, for example, children being taught to read should start with Tolstoy, because Dr Seuss is obviously not real literature and should be ignored.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
I was ever a fan of the deep end way of learning, because as adults, we arent children.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
I was ever a fan of the deep end way of learning, because as adults, we arent children.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
Actually, children have more malleable brains and learn more easily than adults. However, one assumes that he's talking about teaching children and not adults. At the core, you're saying that people should start with the most complicated task, and then work backwards. I say they should develop a framework of understanding and go deeper with time.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
-
Actually, children have more malleable brains and learn more easily than adults. However, one assumes that he's talking about teaching children and not adults. At the core, you're saying that people should start with the most complicated task, and then work backwards. I say they should develop a framework of understanding and go deeper with time.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
Well, he is tlaking about 15 to 16 year olds, certainly old enough to take it on the chin. Heck, we did at that age. All kinds of complex stuff, advanced maths, organic chemistry, if someone had thrown in stacks and assembler it wouldnt have been any harder.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
-
Well, he is tlaking about 15 to 16 year olds, certainly old enough to take it on the chin. Heck, we did at that age. All kinds of complex stuff, advanced maths, organic chemistry, if someone had thrown in stacks and assembler it wouldnt have been any harder.
"It is a remarkable fact that despite the worldwide expenditure of perhaps US$50 billion since 1990, and the efforts of tens of thousands of scientists worldwide, no human climate signal has yet been detected that is distinct from natural variation." Bob Carter, Research Professor of Geology, James Cook University, Townsville
Perhaps, but I don't think they approach any other subject by seeking to make it as complicated early on as possible, to make it as hard to learn as possible.
Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.