PDA

View Full Version : Programming beginner. What language? What is needed?



jeremy1138
August 4th, 2008, 02:29 AM
Hello all!
I've been reading around on the forums a bit and I think I'd like to take a shot at programming so I can contribute more to the community. It seems that I have some choices to make and I'd like some advice. Which language should I start out with? I don't necessarily care to learn the easiest language(s) but I'd like to learn about the most useful and widely used language(s). If possible, I'd also like some straightforward explanation of the programming basics and I'd like to know what I'm going to need to get going with this. What programs will I need? Is there a good website that might be helpful? Is there anything I should know? Thanks in advance for your help!

ghostdog74
August 4th, 2008, 02:33 AM
nobody ever reads the sticky?

DaymItzJack
August 4th, 2008, 02:34 AM
Python if you use Linux, just because it's easy to use and is understandable.

dominiquec
August 4th, 2008, 02:35 AM
Start with Python.

Javascript ain't bad, either.

Java, if you want something enterprise-y.

And, yeah, read the sticky.

hod139
August 4th, 2008, 02:37 AM
See the sticky: http://ubuntuforums.org/showthread.php?t=832449

My advice, find a project you think is interesting then learn the language that project uses.

pmasiar
August 4th, 2008, 02:43 AM
Start with Python (see sticky with poll). See wiki in my sig for free books and training tasks

Kadrus
August 4th, 2008, 10:36 AM
nobody ever reads the sticky?
Nobody sees the sticky:p.

ghostdog74
August 4th, 2008, 10:39 AM
it should be in bigger and nice Fonts to attract attention. Or blinking.

Kadrus
August 4th, 2008, 10:41 AM
Or redirect users that haven't read it yet,and not allowing them to post unless they read it:p

nvteighen
August 4th, 2008, 10:58 AM
The Ubuntu community not only needs developers, but also users sharing experience with other users, or people that write good documentation. So, you don't need to be a programmer to contribute! Just be aware of that.

Now, into programming. Python is the most suitable if you don't have any programming experience. It's reasonably widespread in GNU/Linux and increasingly in Windows. Not the "most used", but nice (and already installed by default in Ubuntu) and interestingly powerful enough to use it even when you are no longer a beginner.

I also recommend you to learn some history. That will help you to know who's who and what's what in programming and why. But that's auxiliary and I'm speaking a bit off my own interests...

Kadrus
August 4th, 2008, 11:03 AM
You can contribute to the community by becoming a tester,doc writer,translator,administrator,so programming is not always needed as said above.

Reiger
August 4th, 2008, 12:05 PM
it should be in bigger and nice Fonts to attract attention. Or blinking.

Blink == "Let's make it absolutely 100% positively sure that this site sucks. Please scare every visitor away. Dear, visitor if you didn't get it yet; do not visit this site if your sanity is worth more than these 7 characters of the most hideous and annoying code in existance."

Nah, I think <blink> isn't the right way to do stuff. Nor is "{ text-decoration: blink; }"...

EDIT: To the OP: if you want to learn a programming lanaguage for the first time; it may be interesting to learn building proper websites first. Now before this reply is covered under the storm of people who say it isn't; let me point out why I think it is indeed a very interesting (and actually quite rewarding) choice:

1) Right from the get go you will be learning some very widespread concepts with a practical implementation to boot.
2) You will get to make your hands dirty with various languages, not just one. (XML/XHTML; CSS; JavaScript/JScript/ECMAScript)
3) The concepts which are wide-spread are somehow embedded in virtually every practical programming languages. (Separating structure from content; the idea of portability; regular expression patterns...)
4) You will get to see something of "the real world doesn't cooperate" stuff. That's useful as it forces you to think better about "what you do; and how you do it" - something which ought to help with debugging apps written in other languages also, or even better: to design your apps correctly.
5) From here on it's a relatively easy & straightforward step up to other programming/scripting languages such as PHP, Perl...
6) You don't need much in the way of tools & debuggers. Any ordinary web browser (well, usually not MSIE that is) will do just fine for testing purposes (these come with consoles displaying stack traces; and even a (moderately) advanced regular text-editor (kate, gedit on Linux; notepad++ on Windows).

Now if you get to more advanced stuff; when you actually want to write to a file -- granted this website building no longer works. But when you encounter advanced tasks with other languages, usually something to do with 'portability' & files defining how your app behaves ...

erdibugra
August 4th, 2008, 12:59 PM
I think you want to be good programmer ;)
In my opinion; you have to introduce algorithm. 'cause algorithm is the hearth of all programming language. you have a 2 ways you know. First one is you will learn quickly programming but only you will code .net platforms without understanding how works them. The second one is learning simple ways of programming like algorithm and assembly programming etc. my advice is second way..

jeremy1138
August 4th, 2008, 01:12 PM
Ok, I'd like first to thank everyone for your comments/suggestions. I did actually look at the sticky as has been mentioned many times and I did see the programming language poll. The problem that I see with the poll is that you need to vote in order to see the results. What does this tell me you may ask. Well it means that every person that looks at that thread but has no idea what the heck those languages even are has to vote to see the results. In other words, that poll means nothing. I asked the question because I wanted to get some comments from people who actually know. Now back to my post.

I actually studied electrical engineering in college so I did learn a bit about programming. I worked with programming two different types of PIC microcontrollers. I began by using actual machine language to program a less advanced type of chip to do things like counting and such and then moved on to using BASIC to program a more advanced PIC to add and show some text and basic things like that. I also took a course on Visual BASIC where I created some simple user interfaces and games and such. I've worked with HTML a bit in the past as well.

After reading a lot of comments around, I've decided to go with Python. I looked at a website last night that had a little introductory tutorial but it was geared specifically toward an interpreter for Windows and it did some stuff that I wasn't able to follow using Python in the terminal in Ubuntu. Actually, before it even comes up, I'm sure that I could do this same stuff with the terminal but I don't know how. Is there some sort of program like the Windows one that will allow me to do the same kind of stuff in Ubuntu that can be done in the Windows version? Or can anyone recommend a website that is geared toward working in Linux specifically?

Thanks!

jimi_hendrix
August 4th, 2008, 01:19 PM
it should be in bigger and nice Fonts to attract attention. Or blinking.

i started reading this thread and noticed this...

blink tags are now extremely discouraged by w3c (i think thats who they are but the www people who make the html standards)

and by discouraged i mean HTML ides dont even let you use it anymore...

ghostdog74
August 4th, 2008, 01:26 PM
i started reading this thread and noticed this...

blink tags are now extremely discouraged by w3c (i think thats who they are but the www people who make the html standards)

and by discouraged i mean HTML ides dont even let you use it anymore...

@reiger & @jimi: dudes, i do know about that. I was just poking fun at the sticky that nobody reads.

jimi_hendrix
August 4th, 2008, 07:52 PM
ya sry thats just my little bit of OCD kicking in

pmasiar
August 4th, 2008, 08:32 PM
I was just poking fun at the sticky that nobody reads.

We discussed this issue to the death.

Even solution was proposed: Change "new post" template - add link to "did you read the FAQ?" so even people who have hard time to find the FAQ, can see them before submitting that wasteful FAQ post. But for some reason, nothing happened - seems like your forum mods do not have high enough privileges to make it happen, and those who can cannot be persuaded.

maybe we need yet another discussion with poll about it?

pmasiar
August 4th, 2008, 08:41 PM
I did actually look at the sticky as has been mentioned many times and I did see the programming language poll. The problem that I see with the poll is that you need to vote in order to see the results.

Nice catch - that is of course a bug. You certainly do have potential!

Maybe LaRoza can fix it (ie post poll result snapshot for people who do not want to vote yet?)

> I actually studied electrical engineering in college ...I began by using actual machine language to program a less advanced type of chip to do things like counting and such and then moved on to using BASIC

Read "How to ask questions". If you mentioned this in your first post, "Dive into Python" would be book for you, so you don't waste time on obvious (for you as programmers with some experience, not 100% noob).

> Is there some sort of program like the Windows one that will allow me to do the same kind of stuff in Ubuntu that can be done in the Windows version?

You probably mean IDLE, Python IDE. You can install it via Synaptic, it looks little uglier in ubuntu (uses Tk instead if wxWidgets) but is functionally almost the same - the only difference is lack of integrated doc browser, but you can use normal browser.

LaRoza
August 4th, 2008, 08:50 PM
Nice catch - that is of course a bug. You certainly do have potential!

Maybe LaRoza can fix it (ie post poll result snapshot for people who do not want to vote yet?)

Click "View Results", usually right below it.

jeremy1138
August 4th, 2008, 09:21 PM
Click "View Results", usually right below it.


I missed that. Thanks for pointing it out.



You probably mean IDLE, Python IDE. You can install it via Synaptic, it looks little uglier in ubuntu (uses Tk instead if wxWidgets) but is functionally almost the same - the only difference is lack of integrated doc browser, but you can use normal browser.


This is exactly what I was looking for. I wasn't aware that this program was available for Linux as well. Thank you.

I also did a little searching around on the web and I found this:
http://wiki.python.org/moin/BeginnersGuide
I'm not sure if it's been mentioned before but it seems very helpful. Thanks again for all your help!