Author Topic: DIY programming language  (Read 76719 times)

doulos05

  • Newcomer
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #45 on: August 20, 2016, 08:08:39 AM »
If the videos are too 1980's for you, consider the book. It's available free online. https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html#%_toc_start

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: DIY programming language
« Reply #46 on: August 20, 2016, 11:04:51 AM »
As a side note, I've been watching 0.5 hours of Scala tutorial and that language is kind of cool. The syntax is very nice I think.

Antsan

  • Rogueliker
  • ***
  • Posts: 52
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #47 on: August 20, 2016, 11:08:45 AM »
I a truly in awe of your overbearing competence in the field of programming languages and their use.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: DIY programming language
« Reply #48 on: August 20, 2016, 11:20:19 AM »
I have heard quite a bit good things about scala, but haven't programmed with it. It's yet another example how languages are developed and features collected from various other languages. No wonder software development (at least in some areas) is moving towards polyglot culture, where no single language is considered the only viable choice. Keeps your world view fresh too, when you have to pick up new things and try out new features.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: DIY programming language
« Reply #49 on: August 20, 2016, 05:30:25 PM »
I a truly in awe of your overbearing competence in the field of programming languages and their use.

Maybe that's why I'd like to create a simpler language, maybe... The "Critisism" section in Wikipedia of Scala mentions that it has a learning curve. It does look like some of the features of Scala are more advanced than I would like myself. But it doesn't mean you have to use those features if the core features of the language are useful enough to create programs possibly easier than in C++.

mushroom patch

  • Rogueliker
  • ***
  • Posts: 554
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #50 on: August 21, 2016, 01:02:30 PM »
Folks, the first step in creating the ultimate roguelike is to invent a language capable of expressing its majesty,

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: DIY programming language
« Reply #51 on: August 21, 2016, 01:15:10 PM »
Every language has a learning curve. If there isn't curve, you aren't learning and are merely just hashing old ideas. And that's not particularly productive, usually.

There's also difference between core ideas of language and its syntax. Latter of those requires merely some memorization, while learning the former actually exposes you to new ideas and paradigms. You can pick up OO language and write code that looks very procedural. Or you can pick up lisp and write very object heavy code with factory objects and such. Doing so misses the point why the language was invented in the first place.

I'm repeating myself, but when evaluating a language, one should look past (not completely ignoring though) its syntax and see what are the primitive parts of the language, how you can combine them to create new parts and how do you create abstractions for those new parts you created. Parlor tricks with syntax or esoteric features are fun to talk about, but not particularly useful in evaluating a language.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: DIY programming language
« Reply #52 on: August 21, 2016, 02:23:11 PM »
Parlor tricks with syntax or esoteric features are fun to talk about, but not particularly useful in evaluating a language.

I don't think syntax is a trick. For example I don't like lisp's syntax and probably never will. But I need to try some other language than C++. It's not going to be Scala though, since I learned it requires java and I dislike java.

Antsan

  • Rogueliker
  • ***
  • Posts: 52
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #53 on: August 21, 2016, 02:49:55 PM »
Parlor tricks with syntax or esoteric features are fun to talk about, but not particularly useful in evaluating a language.

I don't think syntax is a trick. For example I don't like lisp's syntax and probably never will. But I need to try some other language than C++. It's not going to be Scala though, since I learned it requires java and I dislike java.
Scala very likely does not require Java but the JVM.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: DIY programming language
« Reply #54 on: August 21, 2016, 03:18:24 PM »
Scala very likely does not require Java but the JVM.

JVM is java.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: DIY programming language
« Reply #55 on: August 21, 2016, 03:35:21 PM »
Parlor tricks with syntax or esoteric features are fun to talk about, but not particularly useful in evaluating a language.

I don't think syntax is a trick. For example I don't like lisp's syntax and probably never will.

I didn't claim that syntax is trick or completely irrelevant. I merely pointed out that parlor tricks with syntax aren't that good grounds for evaluating a language.

One could ask questions like: "does it have objects?", "how are objects built?", "can I combine objects to create more complex objects?"

Or even: "does it have arrays?", "what can I put into arrays?", "can I put arrays in arrays?", "What other datatypes are there?", "How do I combine datatypes to bigger constructs?", "How do I make big blog of combined data to behave in a cohesive way?"

"Can I have subroutines?", "Can I combine subroutines to bigger subroutines?", "Can I pass sub routines around as data?", "Can I create subroutines from subroutines that were passed in?" and so on.

It's ok to not like a language because of its syntax. But it's not particularly good idea to say that some language is superior to other just because of its syntax.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Antsan

  • Rogueliker
  • ***
  • Posts: 52
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #56 on: August 21, 2016, 04:13:44 PM »
Scala very likely does not require Java but the JVM.

JVM is java.
Nope. JVM is the Java Virtual Machine, which is, well, a virtual machine executing byte code. Java is a programming language that is normally compiled into byte code which can be executed with the Java Virtual Machine.

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: DIY programming language
« Reply #57 on: August 21, 2016, 07:02:21 PM »
You do realize it's executing java code.

Antsan

  • Rogueliker
  • ***
  • Posts: 52
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #58 on: August 21, 2016, 08:07:58 PM »
You do realize it's executing java code.
It's executing byte code, not Java code. Just like a x86 processor isn't executing C code but assembly. Of course the JVM is a virtual machine, so it isn't as physical as a processor, but the principle is the same: Java is compiled into a specific form of byte code that is not Java anymore and executable by the JVM. The JVM cannot execute Java code directly – Java code needs to be compiled first. Just like C code or C++ code or whatever other code needs to be compiled to assembly before it can be executed on the processor with an interpreter.
You know, it's the Java Virtual Machine, not the Java Interpreter.

I despise Java probably a bit more than the next guy. Still, the fact that a language is running on the JVM doesn't tell you anything about the language at all. Prolog is running on the x86 (among other things) and yet it has almost nothing in common with assembly or C.
« Last Edit: August 21, 2016, 08:11:54 PM by Antsan »

Xecutor

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 263
  • Karma: +0/-0
    • View Profile
Re: DIY programming language
« Reply #59 on: August 22, 2016, 04:57:21 AM »
Of course the JVM is a virtual machine, so it isn't as physical as a processor
Actually there is physical processor that executes jvm byte code. Was developed by Sun, before it was purchased by Oracle, but never become even slightly popular.
And latest Oracle Sparc M7 have feature 'software in silicon' which is said to have some built into CPU features that improve performance of JVM.