Live data from Hacker News

30 years later, QBasic is still the best

nicolasbize.com

281–290 of 308 posts

Re: 30 years later, QBasic is still the best

#281
post #230

Earlier quoted context omitted.

> Probably not functional programming, though, since functional's not very good for games Can you elaborate on that? People have actually written games in FP languages ([1], [2]). [1] http://www.cliki.net/game [2] https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Saying "FP languages" and only giving examples for Lisp is cheating. Lisp has state, it has an imperative-programming mode, and it has well-developed database libraries; it's not monomaniacally FP (and therefore aggressively unhelpful for games) like Haskell is. (Lisp also has terminology that's much easier to understand than Haskell. What exactly is a monad, again? And why would I care about monads when I already ha…

Well, sorry, I happen to be a lisp hacker and as such don't regularly follow other FP languages. But I googled it for you:

https://wiki.haskell.org/Applications_and_libraries/Games

I still don't get the "aggressively unhelpful for games". FP does not mean "no state", just that state is expressed differently.

Re: 30 years later, QBasic is still the best

#282
post #281

Earlier quoted context omitted.

Saying "FP languages" and only giving examples for Lisp is cheating. Lisp has state, it has an imperative-programming mode, and it has well-developed database libraries; it's not monomaniacally FP (and therefore aggressively unhelpful for games) like Haskell is. (Lisp also has terminology that's much easier to understand than Haskell. What exactly is a monad, again? And why would I care about monads when I already ha…

Well, sorry, I happen to be a lisp hacker and as such don't regularly follow other FP languages. But I googled it for you: https://wiki.haskell.org/Applications_and_libraries/Games I still don't get the "aggressively unhelpful for games". FP does not mean "no state", just that state is expressed differently.

If you do Lisp, why are you fighting for Haskell?

(For the aggressive unhelpfulness of Haskell, I mentioned that Pac-Man project -- and see my other posts in this thread.)

Re: 30 years later, QBasic is still the best

#283
post #160

Earlier quoted context omitted.

Or How to Design Programs with Dr Racket. Same effect.

I was actually suggest Racket as a great platform for learning programming (it's a "real" language/platform, decent IDE, support for building stand-alone executables, great documentation, sold cross-platform support) - but was a little surprised that I couldn't find a BASIC #lang-uage extension for Racket. It would seem that a BASIC mode and maybe a pure turtle graphics mode should be pretty trivial to make for Racke…

Racket has turtle graphics. [0]

Realm of Racket might be a good non-school introduction to programming. [1] I feel like How to Design Programs would be better suited for the classroom, whereas RoR is all about having fun.

[0] https://docs.racket-lang.org/turtles/

[1] https://www.nostarch.com/realmofracket

Re: 30 years later, QBasic is still the best

#284
post #230

Earlier quoted context omitted.

> Probably not functional programming, though, since functional's not very good for games Can you elaborate on that? People have actually written games in FP languages ([1], [2]). [1] http://www.cliki.net/game [2] https://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Saying "FP languages" and only giving examples for Lisp is cheating. Lisp has state, it has an imperative-programming mode, and it has well-developed database libraries; it's not monomaniacally FP (and therefore aggressively unhelpful for games) like Haskell is. (Lisp also has terminology that's much easier to understand than Haskell. What exactly is a monad, again? And why would I care about monads when I already ha…

John Carmack ported Wolfenstein 3D in Haskell.

And people have written games in Erlang. [0]

[0] http://prog21.dadgum.com/23.html

Re: 30 years later, QBasic is still the best

#285
post #281

Earlier quoted context omitted.

Well, sorry, I happen to be a lisp hacker and as such don't regularly follow other FP languages. But I googled it for you: https://wiki.haskell.org/Applications_and_libraries/Games I still don't get the "aggressively unhelpful for games". FP does not mean "no state", just that state is expressed differently.

If you do Lisp, why are you fighting for Haskell? (For the aggressive unhelpfulness of Haskell, I mentioned that Pac-Man project -- and see my other posts in this thread.)

I don't fight for Haskell, I was hoping for an enlightening answer; since all I got was a referral (not a link) to another comment that again refers to some other thread (again without link) that apparently only provides anecdotal evidence based on one guy's story who had a hard time with his project I call it a day you a troll.

Re: 30 years later, QBasic is still the best

#286
post #232

Earlier quoted context omitted.

You mean javascript? It's already implemented in your browser.

No, I mean implementing a full Basic interpreter in Javascript. For nostalgia's sake, or for teaching the kids, as in the article.

No need to reimplement. The original QBasic runs in your browser: https://archive.org/details/msdos_qbasic_megapack

Re: 30 years later, QBasic is still the best

#287
post #234

Earlier quoted context omitted.

I think this isn't that FP languages themselves are not good for programming games, but that the languages don't really bring much more to the table. Even when writing games in C, you end up writing many things in a very functional way by default. You have some state variables, and on every tick you advance things around in a very defined fashion, and redraw the screen. The "default" pattern for making games is so cl…

Games would benefit from having the ability to plug in FP to resolve particular rules, but the aggregate game-world is stateful. (Remember that article here on HN where someone took several months to sort of write Pac-Man in Haskell, then admitted at the end that it would've taken him a week in C; and look at some of the other hoops that Haskell tutorials jump through when writing games.) OOP is just an enormous win…

(Talking about FP, but mainly aout Haskell and other languages with some weak OOP tools)

The statefulness is managable in FP generally, you could see things like the State monad in Haskell. After all, the current state is just recursive applications of the rules. Experienced users of the FP languages will feel at home

The high nesting that would end up in your data will probably mean you want to reach for deep data accessors and the like. This is managed through things like Lenses in Haskell. But that's an extremely high learning curve to basically get what you get for free with dot notation in so many other languages. If you're experienced in the language already, it's fine, but if you're just starting out in the FP language, and you had experience in iterative-style languages... ouch.

I really like the idea of applying MVC for game patterns. it makes so much sense! Going to explore that the next time I have the chance.

Re: 30 years later, QBasic is still the best

#288
That is awesome!

It is not surprising that Noah's desire to program comes from his desire to make games. That's where I got my start, with QBASIC ~20 years ago.

Before that, I remember wanting to take a Entenmann's Donut box and put action figures on sticks to make my own analog fighting game.

How many of you got into programming because of a desire to make games?

Re: 30 years later, QBasic is still the best

#289
post #249

Earlier quoted context omitted.

Once the Haskell people have figured out lenses properly, you can have all your OOP niceties (that anyone actually cares about).

We've already got those niceties (including the ones that you don't care about), and we get them without having to learn Haskell's enormous universe of exotic terminology. How do we get them? We don't use Haskell.

Oh, you get much more, and better with Haskell. (It's just that stuff is currently widely in flux. Not at the base language, but at the level of basic libraries there's great improvements.)

Re: 30 years later, QBasic is still the best

#290
post #259

Earlier quoted context omitted.

> How much simpler could it be really? The howto could be a whole lot simpler it seems, see this example, helpfully provided by neckro23 https://news.ycombinator.com/item?id=11637866

Welcome to the Internet and let me be your guide: http://www.bing.com/search?q=sarcasm I sincerely wish that the post you linked was sarcastic as well, but it was probably serious which makes the (former) QBasic programmer in me a little bit sad.

I'm smiling now :-)

I thought it was a well intended explanation that just wasn't detailed enough.

Post reply on HN