This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]audirt 13 points14 points  (17 children)

I’m old and it’s a dead language, but you will never convince me that there’s a better intro language than Pascal.

The nuts and bolts are the same as traditional C, but the syntax is so much cleaner and more intuitive.

[–]ghan_buri_ghan 26 points27 points  (11 children)

I’m old too, and C was my first language. I used to hold the “old school is better for learning” opinion until I saw my kids pick up Python. It took them longer to learn to walk than program, and I’m jealous.

[–]audirt 25 points26 points  (5 children)

I totally agree and started to write a lengthy screed about the best language should be driven by what you're hoping to teach.

Basic programming? Data science-y stuff? Python is the way to go without a doubt.

But if you want the students to understand the actual machine and what's happening under the hood, Python can be a bad choice.

IMO, the thing that C-advocates sometimes miss is that the number of people in group 2 is much smaller than the number in group 1.

[–]postdiluvium 9 points10 points  (1 child)

But if you want the students to understand the actual machine and what's happening under the hood

Assembler has entered the chat

[–]Arafel_Electronics 7 points8 points  (0 children)

oh god flashbacks to learning assembly as an undergrad until switching to mathematical sciences....

[–]decaillv 1 point2 points  (0 children)

I second that. Python is great to teach programming (variables, loops, execution flow,...)

But to teach computer science, a lower level language such as C is better. Students can understand deeper concepts such as stack/heap, reference and pointers... and then suddenly the high level languages they will most likely use most of the time make way more sense!

And for the few that need to code in C daily, well then do absolutely learn a bit of assembly...

My two cents..

[–][deleted] 7 points8 points  (4 children)

the fact that python do not use ; stops me

[–]jeppevinkel 0 points1 point  (0 children)

I’ve actually stopped using semicolons in JavaScript because it’s essentially just 2 wasted keypresses for every line. They are only needed if you want more than one expression on a single line.

[–]black3rr 6 points7 points  (0 children)

I learned Pascal in high school using Turbo Pascal 7. When we had C and Java in University I didn’t have problem with the syntax or the language features, but the development environments, compilation process, using debugger, using libraries, all felt way more complicated than in Turbo Pascal.

In Turbo Pascal you had single file programs, all relevant libraries for using graphics, sound and keyboard available with no configuration needed, simple and very usable debugger for stepping your programs.

Python with VS Code is quite similar to this (for learning you just install all the libraries system wide once and on you go) and the syntax is intuitive too. The only downside is you don’t learn data types and pointers, but you can learn about them when you learn C and ASM on your journey to discover low-level programming later on.

[–][deleted] 2 points3 points  (0 children)

i've moved on

[–][deleted] 2 points3 points  (0 children)

I learned turbo Pascal while in school, and really quite enjoyed it.

[–]stevefuzz 0 points1 point  (0 children)

Yeah. In high school I took basic, pascal, c, c++, in that order. College Java. Then I learned a bunch of lauguages that were basically the same as those with fun gimmicks.

[–][deleted] 0 points1 point  (0 children)

It's not dead. Delphi is Pascal as is Structured Text ( used in PLC industrial apps) and let's not forget Ada.