Which programming language should I learn?

7 replies [Last post]
nevermoreraven
Offline
Joined: 10/15/2014

I am currently trying to learn python. I want to learn a programming language that is easy, cross platform and able to run it as a script without compiling. I have compiled programs in the pass some took a long time while others were fast. What causes them to be slow or fast? Can python use commandline programs in the code? I am only doing the basics so far. What is a good free software program on trisquel for learning various programming languages? Or is there a website you would recommend?

onpon4
Offline
Joined: 05/30/2012

> I want to learn a programming language that is easy, cross platform and able to run it as a script without compiling.

Python is a good choice, then. The only system commonly in use that Python doesn't come on by default is Windows.

> I have compiled programs in the pass some took a long time while others were fast. What causes them to be slow or fast?

Talking about how long it takes to compile, or how fast they run?

The former question isn't important for interpreted languages. Python source code gets compiled into bytecode too fast for it to be noticeable. You might even be under the false impression that the source code is executed directly.

the latter question is extremely complicated. The answer varies a lot. Some things generally make programs faster: compiling to machine code (like C) generally produces faster code than running bytecode in an interpreter (like Python). In the case of interpreted languages, using a JIT compiler (like PyPy) can speed things up. But other than that, the cause of execution speed depends on the specific case.

> Can python use commandline programs in the code?

I'm not quite sure what you mean by this. Python can execute commands with the subprocess module, if that's what you mean.

> What is a good free software program on trisquel for learning various programming languages?

Eh, I guess you could try programming games. A simple one is Laby (package "laby"). There are others available in the repo, though I haven't tried them.

nevermoreraven
Offline
Joined: 10/15/2014

I mean to use for example the command line program called "mp3wrap" to use it just as you would in terminal in python code.

onpon4
Offline
Joined: 05/30/2012

subprocess module, then. I have a program where I use subprocess.call to encrypt something with GnuPG, for example.

moxalt
Offline
Joined: 06/19/2015

> I am currently trying to learn python. I want to learn a programming
> language that is easy, cross platform and able to run it as a script
> without compiling.

Since you didn't list usefulness as a requirement, only simplicity,
cross-platform usability, and scripting, I would recommend my first
programming language (not including Windows batch scripting): BASIC.
Any classical dialect of BASIC should do- Altair, Commodore, etc.

My favourite BASIC interpreter is Vintage BASIC
(http://vintage-basic.net), conforming closely to Altair BASIC
standards. It will successfully interpret all the games in the '101
BASIC Computer Games' collection.

> I have compiled programs in the pass some took a
> long time while others were fast. What causes them to be slow or
> fast?

Are you referring to compilation time or run-time after compilation?

> I am only doing the basics so far. What is a good free software
> program on trisquel for learning various programming languages?

A learning tool for programming? I don't really know of any besides
things like MIT Scratch (https://scratch.mit.edu) or MIT App Inventor
(http://appinventor.mit.edu/explore).

In terms of IDEs, a good IDE to use (which just so happens to be in the
Trisquel repository) is MonoDevelop (# apt-get install monodevelop). It
is compatible with C, C++, C#, and others.

t3g
t3g
Offline
Joined: 05/15/2011

If you are going to plug C# and Mono, there's also FNA via https://fna-xna.github.io/

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

Python is an excellent choice. This free book (under the GNU FDL) looks good for beginners: http://www.greenteapress.com/thinkpython/html/

t3g
t3g
Offline
Joined: 05/15/2011

Start with Python. Very accessible with a clear syntax and comes pre-installed on the majority of GNU/Linux distros and even Mac OSX ships with version 2.7.

A good resource is http://learnpythonthehardway.org/book/ and you can usually find answers to your questions at the Stack Overflow website.