Page 1 of 3

A curious proposal

Posted: Mon Jul 31, 2017 10:58 am
by Oskar45
A member of our government proposed to provide free tablets and smartphones to every school-kid. Fine. Not hardly necessary - over here all kids are fingering their mobiles all the time.

BUT - he also proposed that all should learn a programming language. Here is the catch. Which language? FP, APL2, Python, Scheme or - heaven forbid - C?

Re: A curious proposal

Posted: Mon Jul 31, 2017 11:25 am
by guardian452
Depending on the age of the kids and the hardware provided, Swift, Java, or (maybe, but doubtful) Python.

You were asking what will happen, not what you would like to see happen, correct?

Re: A curious proposal

Posted: Mon Jul 31, 2017 1:38 pm
by VenomousPinecone
COBOL

Re: A curious proposal

Posted: Mon Jul 31, 2017 1:42 pm
by commodorejohn
INTERCAL.

Re: A curious proposal

Posted: Mon Jul 31, 2017 8:54 pm
by ClassicHasClass
Unlambda

Re: A curious proposal

Posted: Mon Jul 31, 2017 9:06 pm
by nyef
Plankalkül should be a bit closer-to-home, surely?

Re: A curious proposal

Posted: Tue Aug 01, 2017 12:22 am
by Trippynet
6502 Assembly language! :)

Re: A curious proposal

Posted: Tue Aug 01, 2017 4:14 am
by spiroyster
Oskar45 wrote:C or - heaven forbid - anything else.

Fixed ;)

C opens the door to all the other C-like languages. Even the java virtual machine is written in C.... nuff said (imo, that makes java nothing more than a glorified scripting language, and python, that relies on java, well...:roll: ). You can learn all the others, or just learn C properly and spend all the excess time learning algorithms and application thus solving actual real world problems rather than arguing over who has the most elegant, general purpose syntax which still requires bindings of some description to expose anything that is practical about a computer platform these days... or another 'virtual machine' installed (I don't need another layer of abstraction from my runtime thank you very much :evil:).

Does APL2 use the same glyphs as the rest of the world? Or is it still that mystical runic symbolism which invokes loki every time you attempt to write a program in it o.0

swift will be good, but by the time they hit puberty, swift will probably not be around, swift developers migrated to java etc… that’s the problem with all these *new* jabberwocky 4GL stuff. All fads, which rely on something which relies on something which relies on something which relies on C. I still have valuable neuro-real-estate wasted with Obj-C knowledge for exactly this reason. I used to be able to write C/C++ for iOS in xCode, when Apple were slacking (the good ol'days :roll: ).

In summary:
C#/Obj-C/<or equivelent strongly typed c-esque language> for OO.
C as a macro for assembly.
C++ for everything, since life isn't restricted to assembly, OO, structural, procedural or any other. Sometimes you just gotta mix and match and not marshal o.0
And not to mention there is a world of embedded out there. I'm guessing C will get you through most of it?

'C' has you covered. You won't regret learning C, because at some point in a programmers life, they will encounter C or a C-like language. You probably will regret the others when all the <insert hipster language support> jobs are gone. As a C developer (in case you hadn’t guessed), I feel it my duty to save the world and rid the future of terrible code bloat by suggesting we all learn C (well, C++ if I had my way, but appreciate that’s a bit of an extremist perspective) and learn it properly. Better/faster/null-ptr-prone future for us all. :D

You could burn all the programming literature on the planet, all knowledge lost. Then in 5000 years time after we have done a 'hard-reset' and when we re-discover these 'thinking machines' (no affiliation), I guarantee there will be a 'C' compiler for it!

Re: A curious proposal

Posted: Tue Aug 01, 2017 7:43 am
by ClassicHasClass
because at some point in a programmers life, they will encounter C or a C-like language.


In that case, maybe Algol is more appropriate. ;)

Re: A curious proposal

Posted: Tue Aug 01, 2017 8:43 am
by Y888099
Python is a good hypothesis, as well as Lua.

Re: A curious proposal

Posted: Tue Aug 01, 2017 2:13 pm
by tingo
It will be Python or Scratch, depending of the age of the kids.

Re: A curious proposal

Posted: Tue Aug 01, 2017 3:03 pm
by uunix
Alice and once Microsoft get a sniff, C#, which wouldn't be an awful thing in my opinion.

Re: A curious proposal

Posted: Tue Aug 01, 2017 5:09 pm
by Dodoid
I hope it will be Python, or maybe Lua. I think it strikes a good balance between being relatively easy to learn and understand, while simultaneously introducing real code that those who learn it can adapt to other languages if you want.

A lot of people seem to think that Scratch is a great way to teach kids how to program, and maybe at an extremely early level I can sort of see that. It includes real programming concepts like objects, events, if/else statements, loops, input an output, etc., but the problem I have noticed is that friends of mine who learn Scratch first (remember, I'm 14, so that's a good chunk of them) get very good at the concepts, and very good at Scratch itself, but hit a brick wall when they try to translate that into real, text code.

I think Apple has the right idea with Swift Playground. Rather than trying to dumb down how programs are input, it gives you real Swift code and instead simplifies the output (with the monster puzzle game type thing). That way, users see real code in a real language, and transitioning to traditional programming is only a matter of changing how the output works, not the input.

Re: A curious proposal

Posted: Tue Aug 01, 2017 10:24 pm
by commodorejohn
I'm with spiroyster, C is where it's at. Every time I learn a new language, I find myself learning about all its fancy features and gradually coming to realize that it's simpler without them. In other words, the more unnecessary cruft you drop from a language, the more it comes to resemble C ;)

Re: A curious proposal

Posted: Wed Aug 02, 2017 1:12 pm
by ClassicHasClass
Yes, but keep dropping stuff from C and you get assembly language. ;)

Yes, but keep dropping stuff from assembly language and you get machine language. ;)

Oh, never mind :P