To introduce students on programming? Which language is more appropriate now?
-
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.
-
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
-
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.
-
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.
Well, you see (and I did learn about computers form the inside out, bottom up, not at 16, because we didnt have them then, but at 18) actually when learnt at a fundamental level like this it is actually easier to understand the machine then via a high level language like C# (if thats what you were proposing). The first language I learnt was actually BASIC, on a Spectrum. But then I just got hold of one and taught myself. And, depending on what you are programming different languages have different uses. So if I was throwing together a database app talking to a Jet engine I would probably use VB or some such. (Never got involved with the Microsoft javaesque languages and VM so I cant really comment on .Net suitability). Of course if you are anywhere near HW then C and assembler are crucial. And a lot of coding is. Not just in kernels but FW for a lot of devices, plus handhelds.
"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
-
: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
To put all this another way. If we each had a class, same age, same background. You taught assembler, I taught C#. In 6 months, our classes enter a programming contest. Each student needs to write the Windows calculator. As well as the functionality found in the windows calculator ( including scientific mode, hex, octal, etc ), the students would be free to add other features as they saw fit. They would be marked on functionality, appearance and robustness. All the things that matter in the real world. Which class do you think would win ?
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.
-
To put all this another way. If we each had a class, same age, same background. You taught assembler, I taught C#. In 6 months, our classes enter a programming contest. Each student needs to write the Windows calculator. As well as the functionality found in the windows calculator ( including scientific mode, hex, octal, etc ), the students would be free to add other features as they saw fit. They would be marked on functionality, appearance and robustness. All the things that matter in the real world. Which class do you think would win ?
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.
If you choose the examination to suit your chosen language then there is no competition Christian. And if you try to implement something on an Arm processor?
"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 (and I did learn about computers form the inside out, bottom up, not at 16, because we didnt have them then, but at 18) actually when learnt at a fundamental level like this it is actually easier to understand the machine then via a high level language like C# (if thats what you were proposing). The first language I learnt was actually BASIC, on a Spectrum. But then I just got hold of one and taught myself. And, depending on what you are programming different languages have different uses. So if I was throwing together a database app talking to a Jet engine I would probably use VB or some such. (Never got involved with the Microsoft javaesque languages and VM so I cant really comment on .Net suitability). Of course if you are anywhere near HW then C and assembler are crucial. And a lot of coding is. Not just in kernels but FW for a lot of devices, plus handhelds.
"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:
Of course if you are anywhere near HW then C and assembler are crucial. And a lot of coding is. Not just in kernels but FW for a lot of devices, plus handhelds.
Sure, there's a tiny number of applications still where C and assembler are needed. And for someone who is going to have to take those jobs, it's perhaps arguable that knowing high level languages is of no value. But, why would you assume that a class for beginning programmers should aim for 2% of the possible jobs, and close to zero possibility of the path a hobbyist would take ?
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.
-
If you choose the examination to suit your chosen language then there is no competition Christian. And if you try to implement something on an Arm processor?
"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:
If you choose the examination to suit your chosen language then there is no competition Christian.
I chose something that is applicable to the real world, and the sort of task that would demonstrate an ability to program, at a level that would count as some sort of accomplishment. What would your class be able to do, in six months ? A console calculator that does addition and subtraction perhaps ? I'd be able to double back and teach some C++ ( and even C if you like ) to teach them about memory management before your class could write a remotely useful program.
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.
-
Starting from C has been stupid for at least 10 years. Starting from C++ has been stupid for at least 4.
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:
Of course if you are anywhere near HW then C and assembler are crucial. And a lot of coding is. Not just in kernels but FW for a lot of devices, plus handhelds.
Sure, there's a tiny number of applications still where C and assembler are needed. And for someone who is going to have to take those jobs, it's perhaps arguable that knowing high level languages is of no value. But, why would you assume that a class for beginning programmers should aim for 2% of the possible jobs, and close to zero possibility of the path a hobbyist would take ?
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.
Its not so tiny as you think. Look at the number of PDAs around.
"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:
If you choose the examination to suit your chosen language then there is no competition Christian.
I chose something that is applicable to the real world, and the sort of task that would demonstrate an ability to program, at a level that would count as some sort of accomplishment. What would your class be able to do, in six months ? A console calculator that does addition and subtraction perhaps ? I'd be able to double back and teach some C++ ( and even C if you like ) to teach them about memory management before your class could write a remotely useful program.
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.
Mind you you could do a calculator in C just as quickly. Even faster in MFC.
"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
-
If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?
Weiye Chen A hermit trying to learn hibernation...
I'd pick C#, because you have a comfortable free dev env, it's state of the art, it's used in the industry, and you can explore different paradigms.
FILETIME to time_t
| FoldWithUs! | sighist | WhoIncludes - Analyzing C++ include file hierarchy -
If you were to teach some school students say aged 15-16 (who have no programming experience) the basics of software programming, which language would you begin with? I was taught C->C++->Win32->MFC but i am wondering nowadays if there is still a need to start from C. Perhaps children are now more intelligent and would not have much problem starting from C++ or C#?
Weiye Chen A hermit trying to learn hibernation...
My first programming class was IBM 360/370 Assembly Language.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997