Python as a first language
I am currently finishing up my B.S. in Computer Science at a local private University. When I started a couple of years ago, C++ was taught in the intro to programming course for freshmen. About two years later, Java was taught as a first language. (I disagree with that because I think that OOP should be eased into over the duration of a semester, and it shouldn't be something forced upon non-programmers their first day.)
Regardless, there is now a discussion / debate going on within my school's CS department to teach python as a first language. I was just wondering what everyone thinks of this. Good? Bad?
cscgal
The Queen of DaniWeb
19,424 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 230
But with python, you don't have to declare your variables. Is it such a good idea to get into the habit of not having to do that? In addition, python offers some features that, while nifty, are pretty unique and not so sure they are applicable as a first language introduction to computer science.
cscgal
The Queen of DaniWeb
19,424 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 230
Being able to program without being able to handle memory management is just fine. But keep in mind, that computer science majors will need to learn all of that stuff for all of their other courses! Additionally ... C#, Java, and all OOP languages (as far as I know) require you to declare variables. Not doing so is just a bad habit IMO.
cscgal
The Queen of DaniWeb
19,424 posts since Feb 2002
Reputation Points: 1,474
Solved Threads: 230
When I first learned Python, I was very familiar with STL in C++ and easily recognized many of Python's containers. Now there was an understandable way to work with STL.
Actually Python reminded me of the transition I made from Pascal to C in my early school days. The computer departments then were worried about C's free wheeling style.
I don't think Python teaches you bad habits. Your different data types are still there, you just won't have to endlessly declare them. Variable names become more important now, to keep track of data types. Using recognizable variable names is something one ought to do anyway!
The indentations you did to make your code more readable, are now your statement blocks. All in all, you are gently pushed in the direction of code readability!
In Python everything is an object, you don't have to take that execrated bath in OOP, you are already in the tub!
vegaseat
DaniWeb's Hypocrite
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
Getting a good text book might be more critical.
vegaseat
DaniWeb's Hypocrite
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
vegaseat
DaniWeb's Hypocrite
5,989 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417