Looking for a new language to learn. (AKA Debate! Language 2 Lrn)

Subscribe to Looking for a new language to learn. (AKA Debate! Language 2 Lrn) 51 posts

avatar for Senekis93 Senekis93 4090 posts
Flag Post

I got bored of making games and now I’m interested in making applications to help me with some tasks that I do frequently while using the computer. So far I’ve been making some .BAT files, but I’m looking for something a bit more “elegant”, and also looking for something new to learn.

What do you recommend me?

I’m looking for the following characteristics:


  • Oriented to desktop applications (full system access)

  • Ability to create stand-alone executables (no installation required).

  • Ease to develop UIs (I don’t feel like wasting days to build such trivial stuff).

  • Optional but desired: Cross-platform.
  • Also, what IDE or compiler do you recommend? I want something light and fast; I like FD and MinGW, I hate Netbeans and VisualStudio because they devour memory and take forever to do any task.

    So far I’ve seen people suggesting Java, C*, VB, Python and others, but I’m looking for some arguments other than “Because everyone uses it” or “because it’s the one I learned at school”.

    Thanks.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

XNA! Just joking. Don’t shoot me. Please.

Advantages to Java: Multiplatform.
Disadvantage: Faster and better stuff out there.

Advantages to C#(That’s what you mean, right?): xBox shit.
Disadvantages: That’s all it’s good for. And you’ll really never find a practical application for it unless you’re making xBox games or using Unity3D.

Advantages to Visual Basic: None.
Disadvantages: Everything.

Advantages to Python: It can be used to script things like servers, or you can make full-blown applications with it!
Disadvantages: I think that you need the user to install python as well in order to run any applications, but that generally isn’t a problem.

You could also use Lua, though I can’t really give you any information about it. Either it’s classified or I don’t know much about it.

C is a great language, but since C++ came out in the 1980’s, the only practical use for it that I know of is to run python and basic with it.

C++ is, in my opinion, the best language. You can do everything you could with C, Java, Python, C#, and Basic. It can be a bitch to work with sometimes, but the end results are great.

If you go with Java, the IDE of choice would be Netbeans or even better, Eclipse.
If you do C#, you’d have to go with Monodevelop, Visual Studio, or some Opensource one I found on sourceforge, but I can’t remember the name now.

Visual Basic… Visual Studio.

Python, your best bet would be to just use the python shell, would it not?

For C and C++, you could use Eclipse, Code::Blocks, CodeLite, or a million other things. I use Code::Blocks.

Or… BRAINFUCK is a great language. Though if you want to keep your brains virginity, don’t use it.
Well, those are really the only practical languages I could think of. Except for brainfuck. That’s like, a necessity.

 
avatar for player_03 player_03 1249 posts
Flag Post

haXe with NME? The UI is handled basically the same as in Flash, but it can target any number of platforms. “Full system access” might be iffy, but I suspect haXe can do it as long as you’re targeting an appropriate language. (The problem arises from trying to accomplish both “full system access” and “cross platform.”)


Oh, wait…

Originally posted by Senekis93:

I’m looking for something a bit more “elegant”

In which case you probably want to try Python. I mean, just look at list comprehensions:

>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> from math import pi
>>> [str(round(pi, i)) for i in range(1, 6)]
['3.1', '3.14', '3.142', '3.1416', '3.14159']
 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

If you’re looking for something elegant, you’ll want something related to cows, like the MOO programming language

 
avatar for stage_phrite stage_phrite 42 posts
Flag Post

Either C++(with an API like wxWidgets or QT) or Java(possibly with the JavaFX API for prettier UIs)

Generally there is not much to make you choose 1 over the other. Both are capable of creating executable files(by executable i am of course talking about double click = run program rather than just the .exe extension). Both have numerous free compiler and IDE’s you can use and there are a ridiculous number of websites dedicated to tutorials for both languages.

 
avatar for EndlessSporadic EndlessSporadic 10478 posts
Flag Post

Advantages to C#(That’s what you mean, right?): xBox shit.
Disadvantages: That’s all it’s good for. And you’ll really never find a practical application for it unless you’re making xBox games or using Unity3D.

Thats not true. Many game engines and AAA games use C# applications to work alongside C++ code.

 
avatar for JamesObscura JamesObscura 250 posts
Flag Post

@ISWATLLAMA:

No offense, but you’re wrong on so many accounts.

Java: Java is not slower nor worse than other languages. It’s memory heavy at worst. It’s actually very good for simple game development because of a number of extremely easy to use game libraries.

C#: C# is just as cross platform as Java. It’s one of the most widely used and practical languages and it’s popularity is and has been exploding. Look into Mono if you’re interested in C#.
C# is pretty much a windows development standard these days. Limited library options though. You’ll have to work with OpenGL directly if you choose to use it.

VB: Yeah, VB sucks.

Python: Python isn’t type defined. It isn’t very good for large projects for this and other reasons. If you want a good language to throw together simple games or quick scripts then Python is fantastic, otherwise it’s not that great. There’s also plenty of libraries for python now. You can compile python to .exe’s with a little work. This would probably be your “elegant” choice.

Lua: Lua is mostly used to write scripts and such. There’s a good library for making games called Love2d. It’s a very very interesting language. I recommend learning it if you appreciate Computer Science in general and cool programming tricks.

C: C is C. It’s practical. It’s impractical. It works on every platform. Lots of libraries. Lots of headaches.

C++: I don’t like the C family. C++ is C with objects tacked on. C# is a better “Modern C”. C++ is widely used. As ISWATLLAMA said, it’s a bitch to work with, but it’s a standard for a good reason.

I’m working with Haxe with NME as someone else suggested. It’s similar to Java and AS3 in syntax. It has strict but dynamic type definition. I don’t know how that works. I haven’t tested it extensively, but I imagine it doesn’t work particularly well, haha. Also as a caution it’s not a one click all platforms solution. Make sure you read the docs and understand how to target different platforms. Still a very interesting language.

Edit: Also for the IDE thing… Notepad++ & the default compiler for all of the above.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

Java: Java is not slower nor worse than other languages. It’s memory heavy at worst. It’s actually very good for game development because of a number of extremely easy to use game libraries.

C#: C# is just as cross platform as Java. It’s one of the most widely used and practical languages and it’s popularity is and has been exploding. Look into Mono if you’re interested in C#.
C# is pretty much a windows development standard these days. Limited library options though. You’ll have to work with OpenGL directly if you choose to use it.

Yeah, Java is way slower. It’s also much more resource heavy.
I’ve never heard of C# being used for anything except for some Windows and xBox stuff. It’s best to not use it alongside C++ if you’re going for any type of performance.

C++: I don’t like the C family. C++ is C with objects tacked on. C# is a better “Modern C”. C++ is widely used. As ISWATLLAMA said, it’s a bitch to work with, but it’s a standard for a good reason.

That’s a lower case L in front of my name. C# is definitely not better than C or C++. Unless you want to exclude Linux and mac users.

Thats not true. Many game engines and AAA games use C# applications to work alongside C++ code.

Though it’s more efficient to just use a C or C++ engine.

 
avatar for JamesObscura JamesObscura 250 posts
Flag Post

No, Java is not way slower. It’s also not “much more resource heavy”. Please do not spread misinformation.

C# is used very frequently for many cross-platform projects.

I never said C# was better than C or C++. C and C++ are just as cross-platform capable as C#. Linux is written in C, OSX is as well. I don’t think you know what you’re talking about.

It’s more efficient to just a game engine like Unity or any of the others out there. No one was talking about something vague like efficiency. Try to stay informative and correct. You can voice your opinion on a language but do not spread misinformation.

 
avatar for truefire truefire 3011 posts
Flag Post

HaXe, with or without NME.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

Linux is written in C, OSX is as well. I don’t think you know what you’re talking about.

The only reason Linux is faster than Windows, despite Windows being written in C++, is because the people who work on Linux aren’t payed to be drunk.

No, Java is not way slower. It’s also not “much more resource heavy”. Please do not spread misinformation.

Really?
Are you sure?
“Java startup time is often much slower than for C or C++” ~ Wikipedia article.

C# is used very frequently for many cross-platform projects.

Okay, I was wrong that it wasn’t, but that doesn’t mean that C# is good.

I never said C# was better than C or C++. C and C++ are just as cross-platform capable as C#.

C# is a better “Modern C”.

I think you did.


C# is pretty much a windows development standard these days.

Proving why it’s terribly shitty.

 
avatar for JamesObscura JamesObscura 250 posts
Flag Post

Wtf… Yeah you don’t know what you’re talking about. You’re not even worth arguing with.

 
avatar for UnknownGuardian UnknownGuardian 8141 posts
Flag Post
Originally posted by JamesObscura:

You’re not even worth arguing with.

:O My turn! ( We should change the thread title to Debate! Languages to learn DONE! )


The only reason Linux is faster than Windows, despite Windows being written in C++, is because the people who work on Linux aren’t payed to be drunk.

This isn’t relevant at all. Why did you post this.

Really?
Are you sure?
“Java startup time is often much slower than for C or C++” ~ Wikipedia article.

When one wants to show how slow X language is, they always compare it to C/C++. That’s not a competition. Nor is it proof that “x is way slower than y” (unless y is C/C++). I’m not saying Java is fast, I’m just saying be realistic when you want to prove a point. I’m certain you didn’t read the wiki article at all. Or even most of the first link. >:(

C# is pretty much a windows development standard these days.

Proving why it’s terribly shitty.


Again, this isn’t relevant at all. Why did you post this?

If you are going to argue, please please be smart about it.


As I said in GDR, C# is prolly the way to go. XNA, etc all looks pretty promising and its picking up traction over the years.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

I made a long response, but it seems like it won’t be of any use.
When running any sort of Java program, it uses significantly more resources than running a non-Java program that you’d think would use more resources – but it doesn’t.

 
avatar for JamesObscura JamesObscura 250 posts
Flag Post

Edit: lSWATLLAM asked for me to provide an example of a “reasonably fast” java program before editing his post.

Oops, silly me. This isn’t reasonably fast. It’s just record breaking fast.

Also as for you not knowing what you were talking about. I was referencing your suggestion to use C/C++ over C# unless “You want to exclude Linux and Mac users”. All 3 of those languages are extremely easy to target multiple platforms with.

On topic edit: Haxe or C#. Both are going to be equal amounts pita:reward I’d estimate.

 
avatar for BigJM BigJM 468 posts
Flag Post

Obviously Java is slower than C++; it must be compiled to machine code at run-time.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

Also as for you not knowing what you were talking about. I was referencing your suggestion to use C/C++ over C# unless “You want to exclude Linux and Mac users”. All 3 of those languages are extremely easy to target multiple platforms with.

Okay, I was wrong that it wasn’t, but that doesn’t mean that C# is good.

In response to your link, since I’m so ignorant as to not know anything, could you point out to me where it says that they used Java for this?

Oh yeah, he could try learning Assembly! Or TI-BASIC.

 
avatar for BigJM BigJM 468 posts
Flag Post

I don’t even know why we’re talking about this; nowhere in senekis’ requirements do I see the word performance.

 
avatar for JamesObscura JamesObscura 250 posts
Flag Post

It says it right here.

Considering I got that link from the wiki page you posted to “prove” your point, you should know.

Edit: “I was wrong, but C# is still objectively worse so there.” -lSWATLLAMA

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

We want to give him the best results possible.

 
avatar for BobTheCoolGuy BobTheCoolGuy 3757 posts
Flag Post

In my opinion, C#, .NET, and VS are probably the easiest to work with. Not easily cross-platform. As far as VS being slow – buy a $550 new computer? :D Java would work too. I personally wouldn’t go c/c++ because I find them annoying to use, but no reason not too really if you don’t mind taking more time to do things. I can’t comment on Haxe, never used it.

 
avatar for LennonLenford LennonLenford 30 posts
Flag Post

My god. Can we lose the language in here? There are fights (I don’t consider this a debate sorry) about who used which os, what clothes people wear, and all this other stuff. Please don’t add programming languages to the list. Senekis asked for options.

On Topic: To further the debate; I’m sorry Swat but reading one line of a wikipedia article can’t sum up a language.

 
avatar for Tanst Tanst 46 posts
Flag Post

Learn unix scripting cause reasons.

 
avatar for feartehstickman feartehstickman 521 posts
Flag Post

C# works pretty well, I’ve just begun to use it. Windows form applications are, generally, a breeze.

 
avatar for lSWATLLAMA lSWATLLAMA 593 posts
Flag Post

It says it right here.

Should I really waste my time googling something that your article lacked?