from Hacker News

Neon Programming Language

by silasdb on 10/15/20, 5:44 PM with 31 comments

  • by karmakaze on 10/15/20, 8:04 PM

    > Neon syntax is not sensitive to whitespace, and does not have statement separators. Neon source code is case sensitive, but there are no requirements on the case of user-defined identifiers.

    What's with the uppercase keywords? It was fine in BASIC and okay in SQL but I don't want to hold down my shift key that much while coding.

  • by dTal on 10/15/20, 9:55 PM

    For a language that doesn't mention BASIC anywhere in its influences, it looks an awful lot like BASIC.
  • by stevefolta on 10/15/20, 9:30 PM

    Not to be confused with the earlier language named Neon, which was an object-oriented Forth.
  • by msoucy on 10/15/20, 7:43 PM

    Most of the samples don't show anything for me... Maybe a description of what it's supposed to be, at most. No code or files.
  • by bsder on 10/15/20, 10:21 PM

    I actually really like that somebody finally used decimal floating point as the default.

    The problem is that any small language must have a way to reliably manipulate integers properly, or it's just not getting anywhere. It's okay for that to not be the default, but it must exist.

  • by braindongle on 10/15/20, 10:17 PM

    If I'm teaching young'ns per se using a toy language, I'd reach for Scratch. It's history and Google's embrace of it seem like strong endorsements. Are there other good candidates in that space?

    If I'm teaching an intro class using a general purpose language, it's Ruby or Python. My heart lies with Ruby, but having basic Python chops is such a bigger win downstream.

      for i in range(1, 101):
          if i % 15:
              print ('FizzBuzz')
          elif i % 3 == 0:
              print ('Fizz')
          elif i % 5 == 0:
              print ('Buzz')
          else:
              print (str(i))
    
      (1..100).each do |i|
        if i % 15 == 0
          puts 'FizzBuzz'
        elsif i % 3 == 0
          puts 'Fizz'
        elsif i % 5 == 0
          puts 'Buzz'
        else
          puts i
        end
      end
  • by Konohamaru on 10/15/20, 8:37 PM

    It's a very pretty language. It's Pascal if Pascal were made perfect. Because it seems amenable to Hindley-Milner Type Inference, if it had that, it would be perfect. Imagine having beginners program in a Pascal-like language without having to worry about typing out types!
  • by hhas01 on 10/16/20, 9:25 AM

    “Neon is a high-level, statically typed, garbage collected, imperative programming language intended for teaching and learning the craft of programming.”

    and:

    “TODO: Tutorial goes here”

    Says it all, really.

    ..

    Pascal is [thataway](https://www.freepascal.org/) for those that care.

  • by mastrsushi on 10/15/20, 11:23 PM

    I dont understand this unspoken contest to make new programming languages look like archaic ones from the 1960's. No beginner programmer wants to see := or upper case keywords.
  • by khazhoux on 10/16/20, 12:14 AM

    Why are new languages compelled to show you how to print to console??

    > print("Hello, World.")

    Literally the least interesting thing about any language.

  • by marethyu on 10/15/20, 11:07 PM

    The syntax is ugly.