News for hackers. Stuff that matters.
Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by felideon on Thursday January 18, 2018 @12:32PM (#16179106)
This looks awesome and I can't wait to give it a whirl with my kids.

I am, however, a little concerned about one of Dijkstra's "unpleasant truths"[0]:

> It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

I'm not qualified to interpret Dijkstra, so how serious of a warning or truth is this? Is he just generally polemical?

[0] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EW...

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by Pete_D on Thursday January 18, 2018 @02:40PM (#16180587)
Dijkstra had very strong opinions on structured programming, and BASICs in the 70s were very different to today's.

Consider the language reference for Altair BASIC (linked at http://www.swtpc.com/mholley/Altair/Altair_Basic.htm) - almost all of the flow control is by line number references.

By contrast, FUZE (https://fuzebasic.com/bin/FUZEBASIC_Programmers_Reference_Gu...) looks like it has all of the modern affordances you'd expect, like block IF statements, local variables, and the ability to refer to subroutines by name instead of by line number.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by romaniv on Thursday January 18, 2018 @12:55PM (#16179444)
First, we teach people variables, loops and conditions. Then we teach them procedures. Then we are horrified that newly minted "programmers" write code that is a giant mess of nested loops and conditionals, split across arbitrarily created procedures that manage bloated and fully mutable program state.

Mental models are important. Life would be better for everyone if people started learning programming with LISP, Smalltalk, or at least C#'s LINQ in LINQPad.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by hasanas on Thursday January 18, 2018 @03:54PM (#16181342)
Could you recommend a remedy for someone who's spent a great chunk of their programming experience in misdirection?

I have only recently realised that my terrible misunderstanding of programming is slowing me a lot.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by romaniv on Tuesday January 23, 2018 @01:54PM (#16216251)
Depends on what you want.

If you want to learn about functional programming, something like this could give you fun and relatively painless head start: http://www.4clojure.com/ . Also, you could try to download LINQPad and look at code examples.

If you want to learn about real OOP, I would recommend looking into Smalltalk, learning about design principles behind Xerox Alto/Star and listening to some OOP seminars from mid-80s.

If you want to learn about high-level system design, here are some intelligent people I would listen to: Alan Kay, Rich Hickey, Peter Norvig, Salvatore Sanfilippo.

I would also recommend every programmer to watch through at least one introductory AI class. Not because they necessarily need to work with AI algorithms, but because those classes teach to solve programming problems in a better way than just "write more logic and abstractions".

https://ocw.mit.edu/courses/electrical-engineering-and-compu...

https://www.youtube.com/watch?v=mkBM4jvrhzk&list=PLAwxTw4SYa...

Hope this helps.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by noir_lord on Thursday January 18, 2018 @04:00PM (#16181398)
Depends on your background, if you are .Net maybe F#, Java maybe Kotlin, PHP (and I say this as someone who writes PHP as a day job) maybe any other language in existence.

Functional programming is a completely different conceptual model and even if you don't use it day to day it teaches you some important principles.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by hasanas on Thursday January 18, 2018 @04:13PM (#16181514)
I have been badly taught Java at university (not sure if the course sucked, or I did, but I am a blunder) and have just found myself drawn into the JS world. I really enjoy the concepts of OO, but I feel like my knowledge is very shallow.

Is it good if I rebuild my foundation on JS? I feel like JS is a bit, uh, messy.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by rubicon33 on Thursday January 18, 2018 @04:40PM (#16181751)
Do yourself a favor (if you want to be a web developer):

Understand JavaScript deeply.

Write your applications in TypeScript.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by Roboprog on Thursday January 18, 2018 @05:16PM (#16182065)
It’s a bit dated, but read “JavaScript, The Good Parts”. Also, check out the Ramda.js library, which brings quite a few good functional programming (FP) techniques to JS.

Function scope is good.

Closures are good.

Higher order functions are good.

Partial function application is good :-)

Warning: if you get too used to FP style programming in JS, Java will feel quite painful afterward.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by felideon on Friday January 19, 2018 @08:43AM (#16186102)
Eloquent JavaScript is probably what you are looking for: http://eloquentjavascript.net
Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by chamakits on Thursday January 18, 2018 @12:52PM (#16179411)
My first exposure to programming was basic for the TI calculators. Didn’t even really realize I was programming. The second was Visual Basic. The third was C, and that’s when I really took off, got interested in programming and enjoyed it since.

My experience may nor count for much, as I didn’t dive too deep to either of the first two basics. But I’ve read far too many stories of good programmers getting started on BASIC from code samples they read on books and magazines. So I would say it’s fine.

Also, for all the great things that can be said if Dijkstra, he wasn’t exactly known as a positive motivator, so I’d take his statement with huge grains of salt.

Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by cicero on Thursday January 18, 2018 @05:11PM (#16182010)
I started as a kid with BASIC on an Apple II, went on to get a computer science degree, and worked as a developer for 22 years before becoming a teacher. The limitations of BASIC actually created a desire in me to learn better languages like Pascal.
Re:Fuze for Nintendo Switch: An easy-to-learn text-based pro... by seabird on Thursday January 18, 2018 @02:03PM (#16180206)
My first exposure was to BASIC and I turned out fine, like countless others. Remember that Dijkstra was an academic and a fairly radical one at that; people like him pushed the envelope in the best way, but despite their protests and the inadequacies of the languages, COBOL, PL/I, BASIC, and other such languages are "how the West was won."