Live data from Hacker News

The Origins of Python

inference-review.com

41–50 of 73 posts

Re: The Origins of Python

#41
post #40
post #32

Earlier quoted context omitted.

C, JavaScript, any other general purpose language as long as you have a good teacher. I think the importance of which language you pick first is really overrated.

I disagree, pick an interpreted language that doesn’t need compilers or other complicated setup. Python, javascript, something where there’s little friction to getting started, and which has a REPL. Pick a language that a friend or colleague can help you with, this is probably an even bigger advantage, if possible.

My first language was C++ (a very C-like flavor of it) and I really appreciated it later on. A compiler isn't complicated setup (in fact in many cases it's easier than managing Python/JS dependencies).

I really believe in giving people who are learning more credit that they can actually learn instead of trying to dumb things down for them. And I don't mean that JavaScript or Python are dumbed down, I think they're fine first languages too; my point is about generally trusting beginners to learn things instead of unnecessarily simplifying stuff.

Re: The Origins of Python

#43

Earlier quoted context omitted.

> I don't see why you would need to use decorators, generators or anything? You don't need to learn control flow, functions, variables, etc. I think the point here, is that when beginners start exploring what's out there in "professional" lands they'll quickly discover that they don't know Python at all, because they were using this primitive subset of a language.

But in what language is that not true? You start learning any language by pieces, and just because you know 10% of the language doesn't mean you're ready to write it professionally, this is true for any language.

At what percentage of knowledge are you ready to use the language professionally?

Re: The Origins of Python

#44
post #31

What are other good options for intro programming languages if not python?

Ruby :) The real question is finding a “learn to program” tutorial that you vibe with. Once you get the fundamental concepts down, it’s way easier to learn most other languages.

After that, IMHO, it’s way more about community vibe and approach, since informs how libraries get written, etc etc

Re: The Origins of Python

#45
post #31

What are other good options for intro programming languages if not python?

It depends on the purpose of such intro. For utility programming, even Excel formulas should be a reasonable entry into programming. The formulas, the IF, the index propagation demonstrate the basic programming concepts.

Once familiar with the logic of programming, the choice of language is not that critical. Python is ok, though, personally, I dislike the need for exact indents and often forget that colon...

I find that REPL is rather a complication than a utility in the beginning. Keeping the text of the program in view yeilds better control over the intended logic. In that regard a compiled or a scripted language is not that much of a difference.

In my experience, the hardest part to teach is the approach to decomposing a problem into logical steps. Well, that's the analysis part.

Re: The Origins of Python

#46

Earlier quoted context omitted.

That's a good question. What I'm thinking of (revealing my age) is something more like: 10 LET I = 1 20 PRINT I 30 LET I = I + 1 40 IF I And because BASIC really is that primitive, you can talk about what each line of code is doing, without too much fiction. The mental virtual machine is not radically different from the real machine. The teacher would draw the variables as boxes with numbers in them, and update the n…

40 IF I Do mean "GOTO 20"? Because if you don't that line either makes no sense or has a "magic" implicit goto that has to be explained. Assuming you meant that as a loop then the equivalent in Python is hardly difficult to understand: i = 1 print(i) while i Same number of lines of code, `while` has a clearer meaning than the magic of your goto-less line, and is still somewhat clearer (more comprehensible control flo…

Indeed the GOTO was implicit. Putting other things after THEN came later, as did the while loop.

Re: The Origins of Python

#47
post #31

What are other good options for intro programming languages if not python?

I think the best intro to computers is assembly language.

My actual intro was Fortran for a few months, then IBM 1401 assembler for the next 4 years, as the limitations of fortran were obliterated when writing assembler.

Assembler gets you to appreciate -- in your 'bones' -- what a computer really is, and how it really works.

You can then see how so-called higher-level languages work after understand their foundation.

Top assembly people generate DSLs for every problem domain, and have a hefty library of subroutines and ready macros. I still believe that, if you are good, really good, you'll do best in assembly. That is, you have the detailed machine knowledge, the proper mindset, the subroutines to do , and useful macros (which are a kind of specialized subroutine).

Now. This is true for small machines, and x86 or 68k; but. With the rampant complexity in amd64+ archs, with ultra-complicated instruction sets, it's harder to know every instruction with exquisite detail to produce better assembly than the best C or (probably) Rust compilers.

Still, even if you only use a subset of the instructions of amd64 or arm, you'll learn quite a bit how the machine actually 'does stuff'.

And, if you really take to this sort of thing, there is a future for you in Embedded. Good Luck!

Re: The Origins of Python

#48

Earlier quoted context omitted.

> I don't see why you would need to use decorators, generators or anything? You don't need to learn control flow, functions, variables, etc. I think the point here, is that when beginners start exploring what's out there in "professional" lands they'll quickly discover that they don't know Python at all, because they were using this primitive subset of a language.

But in what language is that not true? You start learning any language by pieces, and just because you know 10% of the language doesn't mean you're ready to write it professionally, this is true for any language.

> But in what language is that not true?

go, but that brings along its own set of bug bear problems

Re: The Origins of Python

#49
post #31

What are other good options for intro programming languages if not python?

Learn JavaScript if you want to build web applications and/or websites.

Learn C if you want to do low-level programming.

Learn Java if you want to torture yours...I mean, write and maintain enterprise applications. Yes, that.

Re: The Origins of Python

#50
post #31

What are other good options for intro programming languages if not python?

There was a good ‘Programming Languages’ MOOC on Coursera from University of Washington. It used 3 languages in this order: Standard ML, Racket and Ruby.
Post reply on HN