Author Topic: New language  (Read 41888 times)

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
New language
« on: May 25, 2013, 12:04:25 PM »
I think it could be nice to program some other language than C++, as a "hobby". I'm thinking of something different than object-oriented that would be also suitable for large scale programming. Any ideas?

mrrstark

  • Rogueliker
  • ***
  • Posts: 66
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #1 on: May 25, 2013, 05:07:43 PM »
Go looks very cool.
A non-OO take on interface and composition
Concurrency facilities built into the language
http://golang.org/

I played with it a while when it came out. That was like 3 years ago, it's seen adoption in server areas, I was always curious if it'd get enough graphical support to do a game in.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: New language
« Reply #2 on: May 25, 2013, 08:16:51 PM »
Clojure is interesting language that runs on multiple platforms. It is functional language with access to object oriented constructs. One can definitely write a game with it and there's even roguelike tutorial available for it (if you want to do a roguelike). It is suitable for large scale programming. Another interesting option is Scala + Akka.
Everyone you will ever meet knows something you don't.
 - Bill Nye

miki151

  • Rogueliker
  • ***
  • Posts: 264
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #3 on: May 25, 2013, 09:13:26 PM »
Ocaml, definitely (limited to its purely functional features). It's good for large projects, and will teach you a lot of new things if you haven't tried functional programming yet. It will make you a much better C++ programmer too, BTW.
KeeperRL, Dungeon Keeper in roguelike style:
http://keeperrl.com

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: New language
« Reply #4 on: May 26, 2013, 09:48:10 AM »
What I hate in most of those other languages is the syntax, like:

a[q->q 2 : 44,a, --c)

How can you read or write code like that?

Maybe I should just concentrate on strict modular type programming in C++ to avoid some of those regular problems like over-sized level class (and some other classes).

miki151

  • Rogueliker
  • ***
  • Posts: 264
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #5 on: May 26, 2013, 10:32:39 AM »
Your code snippet looks almost like the new lambda syntax in C++  ;D
KeeperRL, Dungeon Keeper in roguelike style:
http://keeperrl.com

daver64

  • Newcomer
  • Posts: 16
  • Karma: +0/-0
    • View Profile
    • Indigo
    • Email
Re: New language
« Reply #6 on: May 26, 2013, 05:20:06 PM »
Javascript is not too horrible if you're used to a C style syntax. There are a couple of offerings that will give you native code via a JIT that are not too shoddy performance wise as well.

Ex

  • IRC Communications Delegate
  • Rogueliker
  • ***
  • Posts: 313
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #7 on: May 26, 2013, 05:36:21 PM »
The most obvious is C, but I'm pretty sure you want something aside from that so...

A lot of people I know use Python as a hobby. I think it's OO, but I keep hearing good things about it. It seems like every new coder who I meet who learned how to code recently codes in python. Seems to be enjoying some popularity right now.

JavaScript is okay, although it really, really makes me angry with some of the features it lacks (File IO for example). But it's pretty straight forward and simple.

You could learn ASM for a classic system like the NES, Atari, or C64 or something, but that probably wouldn't count as a hobby with how much work it would be.

There's the various Linux shell scripting languages. They can do some pretty cool stuff.

If you wanted to go old school, you could learn pascal.

daver64

  • Newcomer
  • Posts: 16
  • Karma: +0/-0
    • View Profile
    • Indigo
    • Email
Re: New language
« Reply #8 on: May 26, 2013, 05:41:00 PM »
"JavaScript is okay, although it really, really makes me angry with some of the features it lacks (File IO for example)."

This is not a problem if you use one of the javascripts designed to be extended/embedded , such as V8 or Spidermonkey. They're designed to be extended with C/C++.

I've used them to provide scripting for large scale C++ applications, for example.

tuturto

  • Rogueliker
  • ***
  • Posts: 259
  • Karma: +0/-0
    • View Profile
    • pyherc
Re: New language
« Reply #9 on: May 26, 2013, 07:49:07 PM »
What I hate in most of those other languages is the syntax, like:

a[q->q 2 : 44,a, --c)

How can you read or write code like that?

Maybe I should just concentrate on strict modular type programming in C++ to avoid some of those regular problems like over-sized level class (and some other classes).

You should try APL then  ;D

Anyway, different languages look different. If one has been programming with LISP only then Python will look like a horrible mess. I remember when I switched from Basic to Pascal and was wondering how the computer can execute the program when there are no line numbers (that was like 25 years ago). It's a matter of what one has gotten used to.

Learning something like Java should be easy since you have been programming with C/C++, but will you learn new concepts like that? Of course you could learn Java + Akka and start writing distributed, concurrent and scalable applications though.

I'm trying to learn 3 different languages, one that is static and strongly typed (.Net), one that is dynamic and strongly typed (Python) and one that is functional (Clojure). They are different enough so that it's not just a matter of new syntax, but new concepts too. Learning C#, C/C++ and Java I wouldn't find that interesting.
Everyone you will ever meet knows something you don't.
 - Bill Nye

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: New language
« Reply #10 on: May 28, 2013, 03:22:04 PM »
I have some kind of strange problem with Java which makes me hate it. Besides I think it's too close to C++ anyway. I don't know, maybe I should just try to improve my skills in C++ while trying to finish my projects.

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #11 on: June 02, 2013, 01:01:55 AM »
Java was designed for teams with dozens of low-quality programmers. It's a bunch of arbitrary jumps, loops, and doodads designed to ensure code consistency and readability. The result is a ridiculous amount of verbosity. It's also really not ideologically different from C++. Scala is based on the JVM but has meta-features that make it a lot more interesting.

Xecutor

  • 7DRL Reviewer
  • Rogueliker
  • *
  • Posts: 263
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #12 on: June 02, 2013, 04:19:38 AM »
You can try to actively use C++11 features. It's almost like learning new language :)

Krice

  • (Banned)
  • Rogueliker
  • ***
  • Posts: 2316
  • Karma: +0/-2
    • View Profile
    • Email
Re: New language
« Reply #13 on: June 02, 2013, 12:28:28 PM »
If you want my opinion about C++11 I think they ruined the language while trying to be modern. Programming languages are strange, because they are developed by non-humans (engineers and such).

requerent

  • Rogueliker
  • ***
  • Posts: 355
  • Karma: +0/-0
    • View Profile
Re: New language
« Reply #14 on: June 02, 2013, 03:50:18 PM »
If you want my opinion about C++11 I think they ruined the language while trying to be modern. Programming languages are strange, because they are developed by non-humans (engineers and such).

+1