You are not logged in.

#1 2013-07-24 05:48:43

monkeyhacker
Member
From: Bromide, OK
Registered: 2013-07-23
Posts: 32
Website

[Solved] Help getting started in programming.

I'm sure a ton of people have posted topics like this but hear me out, I know the language really doesn't matter and that the biggest differences are in syntax but I wanna know what the best language is to start in Linux and what the best place is to get good information.

I know in Slackware it seemed like the main compilers were gcc and cmake but I absolutely loathed cmake, it seemed like what needed to be done to get the source to compile was different everytime, I don't think I ever actually got anything to work using cmake. So what are the best compilers in Arch?

Any help is greatly appreciated.

Last edited by monkeyhacker (2013-07-24 22:40:12)


Infinite Monkey Theorem: When applied to computers could mean that any average user could completely make something work on their own. Unfortunately ,given probability, they will invariably mess something up.

Offline

#2 2013-07-24 12:13:11

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [Solved] Help getting started in programming.

If you're just starting, pick any language, compiled or interpreted and have fun.
It would be easier to suggest something if you said what task are you trying to achieve with the programs you're going to build - or is it only for learning the ropes?

You should also read the rules https://bbs.archlinux.org/viewtopic.php?id=130309

Offline

#3 2013-07-24 12:34:11

Nisstyre56
Member
From: Canada
Registered: 2010-03-25
Posts: 85

Re: [Solved] Help getting started in programming.

http://htdp.org/
http://www.greenteapress.com/thinkpytho … ython.html

Also I think you are confused. Syntax generally doesn't matter, correct, but some languages do have very large differences in semantics. It is possible to have languages with the exact same syntax, but wildly different semantics, e.g. this piece of pseudocode can do something quite different from what you might be expecting depending on the language in use:

function foo(n) {
    if n == 0:
        return 1
    else:
        return foo(n-1) * n
}

Last edited by Nisstyre56 (2013-07-24 12:36:09)


In Zen they say: If something is boring after two minutes, try it for four. If still boring, try it for eight, sixteen, thirty-two, and so on. Eventually one discovers that it's not boring at all but very interesting.
~ John Cage

Offline

#4 2013-07-24 12:36:09

monkeyhacker
Member
From: Bromide, OK
Registered: 2013-07-23
Posts: 32
Website

Re: [Solved] Help getting started in programming.

I guess I should rephrase my question to be less vauge. Are there any languages that wouldn't be very useful in linux? Yes it is just for learning the ropes.

Thanks for that clarification, I'm very new to programming so I'm just kinda reiterating what I've gotten from google, what I took away from that is that most languages can do basically the same thing just they have a different way of doing it. I just don't know the jargon.

Last edited by monkeyhacker (2013-07-24 12:40:03)


Infinite Monkey Theorem: When applied to computers could mean that any average user could completely make something work on their own. Unfortunately ,given probability, they will invariably mess something up.

Offline

#5 2013-07-24 12:37:15

Nisstyre56
Member
From: Canada
Registered: 2010-03-25
Posts: 85

Re: [Solved] Help getting started in programming.

monkeyhacker wrote:

I guess I should rephrase my question to be less vauge. Are there any languages that wouldn't be very useful in linux? Yes it is just for learning the ropes.

Well anything that relies on the .NET framework probably will be a pain to use, even with Mono. But generally speaking, no, not really.


In Zen they say: If something is boring after two minutes, try it for four. If still boring, try it for eight, sixteen, thirty-two, and so on. Eventually one discovers that it's not boring at all but very interesting.
~ John Cage

Offline

#6 2013-07-24 12:39:46

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [Solved] Help getting started in programming.

monkeyhacker wrote:

I guess I should rephrase my question to be less vauge. Are there any languages that wouldn't be very useful in linux? Yes it is just for learning the ropes.

Now that's a weird question.
If you have a compiler for it, it has some use. Maybe start with python - don't need to compile stuff, although there's a way to do it.
How about Gambas, the FreeBASIC compiler?

Java? C? Vala? go?

Offline

#7 2013-07-24 12:43:14

Nisstyre56
Member
From: Canada
Registered: 2010-03-25
Posts: 85

Re: [Solved] Help getting started in programming.

karol wrote:

If you have a compiler for it, it has some use.

Although some languages are a bit less useful than others...

http://homepages.cwi.nl/~tromp/cl/lazy-k.html


In Zen they say: If something is boring after two minutes, try it for four. If still boring, try it for eight, sixteen, thirty-two, and so on. Eventually one discovers that it's not boring at all but very interesting.
~ John Cage

Offline

#8 2013-07-24 12:44:46

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [Solved] Help getting started in programming.

Nisstyre56 wrote:
karol wrote:

If you have a compiler for it, it has some use.

Although some languages are a bit less useful than others...

http://homepages.cwi.nl/~tromp/cl/lazy-k.html

I wanted to use brainfuck as an example ;P
https://aur.archlinux.org/packages.php?K=brainfuck

Offline

#9 2013-07-24 12:47:30

monkeyhacker
Member
From: Bromide, OK
Registered: 2013-07-23
Posts: 32
Website

Re: [Solved] Help getting started in programming.

Alright. I just thought of some things that might play a part in picking a language, I love Ratpoison window manager, its written in C, if I wanted to write a program that helps Ratpoison do something would it be benificial to also write it in C? I know if I learned C I could edit the source files of Ratpoison but I'd say that's a long way from now.

Sorry if I seem a bit scatter-brained right now but it's 7:45 and I've been up all night installing Gentoo.


Infinite Monkey Theorem: When applied to computers could mean that any average user could completely make something work on their own. Unfortunately ,given probability, they will invariably mess something up.

Offline

#10 2013-07-24 13:06:21

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,422
Website

Re: [Solved] Help getting started in programming.

C and Python may be the ones that get the widest use.  But anything that compiles to binary makes a binary - so in the end whatever works best for you.

Now if you want to look at the code for existing projects (as you mention ratpoison) then you'll run into a lot of C and python.

You talk about gcc versus cmake in your OP, but that's apples and oranges.  Cmake is not a compiler, gcc is.  Cmake will call something like gcc (or clang, or whatever).  You could compare gcc to clang/llvm, or you could compare make to cmake.  I really never use cmake - isn't it mostly a Qt thing? Learning to use make will be more widely applicable, and once you can write Makefile (for make) cmake will make a lot more sense.  But worrying about these tools, I think, is putting the cart ahead of the horse.  Just start writing some code, and learn enough about your build tools to be able to compile and run your program.


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Online

#11 2013-07-24 13:13:31

monkeyhacker
Member
From: Bromide, OK
Registered: 2013-07-23
Posts: 32
Website

Re: [Solved] Help getting started in programming.

Alright, I think I'll just go ahead and jump in with C, any good websites or resources I should check out? I really appreciate the help.

Edit: Also you're right most normal programs would use make, and that was 100 times easier than cmake. At least from my limited knowledge it was, cmake always seemed to require editing some install file but it probably had something to do with the packages I was installing also.

Last edited by monkeyhacker (2013-07-24 13:18:08)


Infinite Monkey Theorem: When applied to computers could mean that any average user could completely make something work on their own. Unfortunately ,given probability, they will invariably mess something up.

Offline

#12 2013-07-24 13:24:01

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: [Solved] Help getting started in programming.

Offline

#13 2013-07-24 13:24:29

boraalper4
Member
From: Turkey
Registered: 2012-07-09
Posts: 14
Website

Re: [Solved] Help getting started in programming.

http://learncodethehardway.org/ is a good resource for learning Python, Ruby and (even) C.

Offline

#14 2013-07-24 17:49:13

monkeyhacker
Member
From: Bromide, OK
Registered: 2013-07-23
Posts: 32
Website

Re: [Solved] Help getting started in programming.

Alright sincerely, thanks for the help.


Infinite Monkey Theorem: When applied to computers could mean that any average user could completely make something work on their own. Unfortunately ,given probability, they will invariably mess something up.

Offline

Board footer

Powered by FluxBB