Live data from Hacker News

Python is now the most popular introductory language at top U.S. universities

cacm.acm.org

121–130 of 375 posts

Re: Python is now the most popular introductory language at top U.S. universities

#121

In college our intro classes were in C++. While its a tough language I do wonder if it was advantageous to forcefully learn about 1) value vs reference types via pointers and 2) how allocation maps into memory space. Not having that level of depth kinda worries me

C++ makes it harder to work with functions/lambdas and the memory management makes some easy things much harder (for example, list and string processing)

Re: Python is now the most popular introductory language at top U.S. universities

#122

In college our intro classes were in C++. While its a tough language I do wonder if it was advantageous to forcefully learn about 1) value vs reference types via pointers and 2) how allocation maps into memory space. Not having that level of depth kinda worries me

For 90+% of the problems out there, a business programmer doesn't need to know anything about memory#. Short of a few rules, I don't see why they can't ever go without learning about memory space, allocation, reference types, etc.

They will make mistakes, sure. But they will get the work done, and that's pretty much what most businesses need. Eventually, as problems creep in, the messes created by lack of knowledge get resolved/cleaned up.

Programming is incredibly easy and powerful, when made simple. The problem is that learning programming in C/C++ is anything but simple! And the only reason we'd think otherwise is because we already went through it, somehow.

I've seen non-technical minded people learn programming with C/C++ as their first language. They get frustrated because they don't know why certain things work magically while similar things don't. So they end up learning to memorize what works and what doesn't, and copy-pasting what the book tells them. Eventually kludging together a working solution to a problem in the book. With no hint of understanding why.

#Yes I pulled that statistic from thin air.

Re: Python is now the most popular introductory language at top U.S. universities

#123
post #2

a language without types, without extensive research? Then, why not C/D/Pascal. i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. I prefer sml.

> i strongly believe for universities sml/ocaml/haskell or even rust are far better choices. Rust is a horrible choice now , because it hasn't stabilized. When it has stabilized, it may be a suitable choice (at one point, it looked like it would be too large of a language to a be a great intro language, but since then its been getting smaller , so I'm less convinced that it will remain unsuitable for that role.) Pyth…

Rust killer feature is the interaction between the type system and memory management. I don't think this is the sort of thing you want to worry about in an troductory class...

Re: Python is now the most popular introductory language at top U.S. universities

#124
post #82

CMU transitioned from Java to Python when I was an upperclassman there. I'm not sure what other similar places do, but CMU splits introductory courses into 2 parts - 110, 112. 110 is the basic programming with gradual intro to OOP and stuff. 112 is where the datastructures come in - it's a programming primer to implementing datastructures and algorithms, so to speak. Here is the issue I feel goes unnoticed as most pe…

I think the intense focus on OOP is a problem, and it is symptomatic of teaching students Java as their first language. Just as if you learn BASIC first you love GOTO, if you learn Java first you love classes and think everything should be a class. What especially concerns me is that some people are interested in whether a program or language is object-oriented, and endeavor to make their programs more object-oriente…

> Just as if you learn BASIC first you love GOTO

I learned BASIC first and started hating GOTO before I was even in my teens. Who likes GOTO, seriously?

> The other problem is that the farther you get from being a freshman, the farther you get from understanding which concepts are necessary in an introductory curriculum.

I don't know, the farther I've gotten from being a freshman, the broader my experience of other people learning programming has been (and, even though I've never been an instructor in a formal introductory course, the more experience I have teaching other people, including programming.) Even if my freshman classes were my first introduction to programming, I don't think I would have had a better idea what an intro course needed then than I do now.

Re: Python is now the most popular introductory language at top U.S. universities

#125

Hey there! I've just started learning to code for building web apps (I know about Fortran 90, it doesn't fit very well on the browser haha), and it took me a while to decide. I looked up in an endless number of hacker websites, but at the end I'm sorry for betraying Python lovers... I'm learning ruby on rails..! I've just started learning, please tell me If it's best to learn python (I'm not looking for an easy langu…

Python/Django and Ruby/Rails are both clean frameworks and have fantastic communities. When I did the "Hello world" on both I was drawn to Python/Django. When it comes to moving away from the framework I tend to like Python more than Ruby. But it's just personal preference.

Re: Python is now the most popular introductory language at top U.S. universities

#126
post #57
post #6

Earlier quoted context omitted.

It's easy to read and it just makes more sense when someone only knows English. I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part. word_list = ["hat", "dog", "cat"] for word in word_list: print(word) The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python…

My first language was AS3.And I'm glad it was. Types dont make things more complicated. Most languages have types and I prefer dealing with them explicitely rather than letting an interpreter do random coercion like Javascript. Types lead to cleaner programming,instead of shoving random stuffs into an untyped list,a dev has to think about data structures. Furthermore,as a non native english speaker,I dont find python…

"Types lead to cleaner programming,instead of shoving random stuffs into an untyped list,a dev has to think about data structures."

You're more than welcome to not think about what types you put into a structure/list. You'll quickly learn how to use that list/structure without hand-holding. For 90% of the problems out there, you don't need anything other than the basic data structures, and they're pretty straightforward to use without having to think about types.

Note. Please don't confuse Javascript's weak-typing with Python's typing, as Python is strongly-typed.

Re: Python is now the most popular introductory language at top U.S. universities

#127
post #102
post #33

Python for web development is confusing as a beginner. I would go with PHP since everything is not magic and you can see things right away.

No reason to down vote because I prefer PHP for web development. In python you have to learn an entire framework just to do web stuff. PHP everything is right there is that simple.

you should check out flask. there isn't much to learn to get going...http://flask.pocoo.org/

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

    return "Hello World!"
if __name__ == "__main__":

    app.run()

Re: Python is now the most popular introductory language at top U.S. universities

#128
post #57
post #6

Earlier quoted context omitted.

It's easy to read and it just makes more sense when someone only knows English. I could show this to my 80 year old grandmother and have her understand what it does with minimal help on my part. word_list = ["hat", "dog", "cat"] for word in word_list: print(word) The same example in Java isn't extremely hard to understand, but it definitely is a decent jump in complexity from the almost plain English syntax of Python…

My first language was AS3.And I'm glad it was. Types dont make things more complicated. Most languages have types and I prefer dealing with them explicitely rather than letting an interpreter do random coercion like Javascript. Types lead to cleaner programming,instead of shoving random stuffs into an untyped list,a dev has to think about data structures. Furthermore,as a non native english speaker,I dont find python…

> Types lead to cleaner programming,instead of shoving random stuffs into an untyped list,a dev has to think about data structures.

Once you've learned to think about types -- as most introductory courses, even those taught in dynamically typed languages, will teach you -- you can do that just fine in a language that doesn't put a gun to your head and force you to.

(And you can do so in ways that most statically-typed languages have too limited a type system to let you do, too.)

Re: Python is now the most popular introductory language at top U.S. universities

#130

Hey there! I've just started learning to code for building web apps (I know about Fortran 90, it doesn't fit very well on the browser haha), and it took me a while to decide. I looked up in an endless number of hacker websites, but at the end I'm sorry for betraying Python lovers... I'm learning ruby on rails..! I've just started learning, please tell me If it's best to learn python (I'm not looking for an easy langu…

Most of the time (unless you choose something horrid like PHP) the language doesn't matter that much. Pick one (Python and Ruby are comfortable for learners) and stick to it while you learn the basics. Research on data structures, algorithms and the like. Have fun.

By the way, since it happened to me: if you find Rails to be too complex for what you need, there are more lightweight alternatives. Don't get me wrong, Rails will get you up and running fast; but when I was a beginner, it left me with the sensation that I didn't really know what I was doing. Using more lightweight frameworks, like Cuba or Sinatra, can help with that.

Post reply on HN