Live data from Hacker News

Retiring Python as a Teaching Language

prog21.dadgum.com

151–160 of 238 posts

Re: Retiring Python as a Teaching Language

#151

I'm saddened by the lack of academic rigour displayed in this thread. If you have not taught introductory computer science courses, then you have NO CLUE what makes a good introductory language choice. It appears James Hague isn't working as a teacher either, just giving advice to newbies, so his opinion is just that -- opinion. What you want is field studies: "This year we used Haskell and 75% of all students gave u…

> What you want is field studies: "This year we used Haskell and 75% of all students gave up on programming stating that it was to hard. Last year we used Visual Basic and only 20% did. Ergo Visual Basic is probably a better first language than Haskell." Why is that necessarily a good thing? What are we optimizing for here, understanding or popularity? SICP review by Peter Norvig: > Donald Knuth says he wrote his boo…

Depends on which 75% you are weeding out. What if you are just weeding out people which haven't prior experiences in a more accessible language?

Re: Retiring Python as a Teaching Language

#152
post #78

I've had good success teaching Lua with https://love2d.org/ . Super easy to create click-and-run executables that work on OS X and Windows. Mobile's a different story (obviously), but as a teaching language + environment I find it, well, lovely. :)

There are some mobile game sdks that use lua like gideros and corona. It's possible to do live coding in a simulator if you use zerobrane studio but I'm not sure if it's possible on a real phone.

Re: Retiring Python as a Teaching Language

#153

When I took an introduction to Computer Science in college, it was taught in Racket. Over winter break, I then learned Python, and I was baffled -- why would any curriculum not start with Python? Python was easy, expressive, and allowed the user to get lots done with little effort. It was great at motivating programming by showing its use and power. It seemed like an ideal introductory language. Over the last few yea…

Teaching is made of two components: access to knowledge, and motivation. Today, access to knowledge is almost entirely irrelevant: pretty much all knowledge is freely accessible from anywhere, anytime. You just need the motivation to look it up. Teaching yourself can be easy, if only you have the drive to keep at it. It wasn't the case in our past. In the middle ages, before the printing press, teaching was 99% passi…

I think there are other components that are at least as important. You need to know what to learn and be able to organise your time properly. A teacher sets a roadmap and intermediary objectives.

Re: Retiring Python as a Teaching Language

#154
post #102

A lot of the discussion in here revolves around "not being able to get an interactive GUI up and running quickly". If this is indeed the main problem with teaching programming with Python, there are many ways of tackling this problem without resorting to teaching Javascript. Don't get me wrong, Javascript is an interesting language, but it has many oddities that could throw off a newcomer. Sites like OpenProcessing[1…

An even simpler solution would be Python mode for Processing, which has most (if not all) of the benefits of Python and Processing in one: http://py.processing.org/

Simplest solution of all would be to just use js. I don't think that any syntactical or semantic niceties in Python matter much to an absolute beginner, and the extra layers of indirection you guys propose will just lead to more moving parts and frustration.

Re: Retiring Python as a Teaching Language

#155

I'm saddened by the lack of academic rigour displayed in this thread. If you have not taught introductory computer science courses, then you have NO CLUE what makes a good introductory language choice. It appears James Hague isn't working as a teacher either, just giving advice to newbies, so his opinion is just that -- opinion. What you want is field studies: "This year we used Haskell and 75% of all students gave u…

> What you want is field studies: "This year we used Haskell and 75% of all students gave up on programming stating that it was to hard. Last year we used Visual Basic and only 20% did. Ergo Visual Basic is probably a better first language than Haskell." Why is that necessarily a good thing? What are we optimizing for here, understanding or popularity? SICP review by Peter Norvig: > Donald Knuth says he wrote his boo…

1 person in 50 maybe has what it takes to make it to the level of programming where they can read and understand TAOCP and where doing so makes sense for them.

However almost everybody smart enough to muddle through college has what it takes to learn enough programming where they can use it to solve some simple everyday problems they'll face in whatever job the end up in.

Re: Retiring Python as a Teaching Language

#156
If the main focus of the class is to code games for smart phones the choice should be the Unity Engine. BUT that would be the entirely wrong choice to learn programming. Games are multi-discipline projects, programming is just a small part of it, there are many distractions when writing a game to get graphics, sound, AI 'look and sound right', and the visual 'rapid prototyping' workflow of modern game engines gives you quick results, but you don't learn anything about programming. You just cobble together code snippets from Stack Overflow and tinker around until it feels right.

Python is a much better choice to learn programming then Javascript IMHO, then take a quick tour into Lisp, Forth and C, and then may be worry about creating games or UI apps.

Re: Retiring Python as a Teaching Language

#157

If the main focus of the class is to code games for smart phones the choice should be the Unity Engine. BUT that would be the entirely wrong choice to learn programming. Games are multi-discipline projects, programming is just a small part of it, there are many distractions when writing a game to get graphics, sound, AI 'look and sound right', and the visual 'rapid prototyping' workflow of modern game engines gives y…

By the way, I earn my living with games programming.

Re: Retiring Python as a Teaching Language

#158

When I took an introduction to Computer Science in college, it was taught in Racket. Over winter break, I then learned Python, and I was baffled -- why would any curriculum not start with Python? Python was easy, expressive, and allowed the user to get lots done with little effort. It was great at motivating programming by showing its use and power. It seemed like an ideal introductory language. Over the last few yea…

Teaching is made of two components: access to knowledge, and motivation. Today, access to knowledge is almost entirely irrelevant: pretty much all knowledge is freely accessible from anywhere, anytime. You just need the motivation to look it up. Teaching yourself can be easy, if only you have the drive to keep at it. It wasn't the case in our past. In the middle ages, before the printing press, teaching was 99% passi…

Honestly, no. If you've got no overview, you'll not "surf the internet" but get drown in irrelevant or outdated stuff which exists in abundance.

Re: Retiring Python as a Teaching Language

#159
post #65
post #33

Earlier quoted context omitted.

Again, that's a personal preference, not a statement of fact. There is a cost associated with different type systems, and that cost can vary with the problem you are trying to solve. It's not that I argue against the benefits of having such a system in place, but you should be aware of the fact that this too might not represent the end-all-be-all for all programmers. One of the basic mistakes made here seems to be th…

Again, this is not about personal preference. In the real world, 90% of programmers use either C#, Java, C/C++, JS or Python/Ruby/Perl in their jobs. We could restrict ourselves to this set of languages and syntax style, and design a super-set language that does everything, gets rid of their historical warts, and can go from scripting to HPC. Stuff like using significant whitespace or not, are BS bikeshedding, which…

> So it was Windows only, in the CLR with no supported AOT option, etc.

NGEN was there since day one.

Spec#, Singularity systems programing language (based on C#) only has AOT compilation to native code.

This work was the basis of Windows Phone 8 .NET, that only compiles to native code, in a PE format known as MDIL.

This work was then continued to bring static code compilation to the Windows 8 for tablets and now for desktop store apps.

It is part of the upcoming .NET 4.6.

The only deployment format not supported for static code compilation are the traditional desktop and the compact framework.

Parallel to this work, the Dafny the systems programming language for Ironclad,Singularity's successor, also produces static executables.

Re: Retiring Python as a Teaching Language

#160
post #56

Earlier quoted context omitted.

i kindof believe all languages should have some ability to run with a browser-based GUI... why bother with all the hair-brained implementations (Swing, Qt, etc.) when we could just have a "desktop mode" (altered security) version of Chrome pop up to provide GUI. it wouldnt even have to follow same rules as browser really (navigation could be via buttons only, no back/refresh), just be based on html & perhaps js to al…

Well Java 8 ships with webkit for JavaFX but almost nobody uses it.

Given that most enterprises are still migrating to Java 6, that is to be expected.
Post reply on HN