Hacker News new | past | comments | ask | show | jobs | submit login

About your last point, you shouldn't conflate popularity with being better. There are languages with heavy focus on education (both in the language itself and tooling) like Racket that are still not heavily used compared to python even when they provide a great environment for learning from basic to more complex comp sci.

Regarding Julia, yes the focus seems to be more on college, where the matlab-like math support makes it a lot closer to regular math. Though since it's not very different from Python someone can still pick it up easily from knowing Python in high school (or Racket).




I think Python is a better teaching language because it comes out of and is informed by ABC. ABC went through user testing to see how to develop a programming language that would make it easier for non-programmers to learn how to program.

Remember, I am presenting what I think are counter-examples to "is strictly superior to Python in everyway" (excluding "existing projects"). I still think that's true even if Python weren't popular at all.

As an example of the influence, the ":" at the end of lines which start a block in Python is not required, in the language sense. However, ABC testing showed it made the language more useful.

As an example of improving Python for learners, one of the reasons for Python's change from 1/2 == 0 -> 1/2 == 0.5 was feedback from the Alice developers, where they found that students did not understand van Rossum's decision to follow C's semantics.

Python started being used in schools when it wasn't popular. One of the presenters at the Python conference in 1998 or so was a high school AP comp sci teacher. At that time C++ and Java were the AP languages. He reported better success teaching students Python first and then teaching C++ or Java, than spending all of the time in one of the latter languages.


I think Julia is actually easier. No classes. 1 instead of 0 based indexing. Functional features (I think functional programming is easier to learn).


There are people who think Haskell is easier.

Which is why I attempted support my personal beliefs via examples of Python uptake. Something you interpreted as an argument by popularity.

I observe that https://julialang.org/learning/classes/ lists only a single high school, and I didn't see a single course meant as a general introductory programming course for non-programmers.

Here's the IPCC talk (from 2000) I mentioned about "Using Python in a High School Computer Science Program" https://legacy.python.org/workshops/2000-01/proceedings/pape...

It references the "Computer Programming for Everybody" essay at https://www.python.org/doc/essays/everybody/ , which I argue shows the stronger emphasis on the Python developers for beginning programs, inherited from ABC.

I also mentioned Alice. "Because Alice is targeted towards novice programmers, it is important that Python, more than languages such as Tcl or Scheme, can be mastered by new Alice programmers with little effort" (quoting the 1995 paper at http://www.cs.cmu.edu/~stage3/publications/95/journals/IEEEc... ). But that was at a university.

Python of course is much more established than Julia, which is why I linked to resources from when Python was only a year or two older than Julia is now.

That said, at https://www.python.org/community/sigs/current/edu-sig/ you can find other teaching resources for high school teaching and for "kids" and "young children". My local library here in Sweden has a book on programming for kids, which uses Python.

Is there a similar movement as CP4E within the Julia? Nothing from https://julialang.org/learning/ suggests that the needs of non-programmers, such as high school students, plays a strong role in its design.

Do you know of any such internal movement? Can you point me to any external resources which show Julia being used as a teaching language for non-programmers?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: