PDA

View Full Version : Programming question



Mantanas
January 6th, 2009, 12:01 AM
First of all, hello. I'm a novice computer user and i'm interested about computer programing. I just want someone to point me to the right direction. For example what programing language should I learn? Should I go on the web side(php/html/xhtml/css) or desktop side(c/c++...etc...). Sorry but I don't have any experiences regarding this subject and I could use some help.
Many thanks!

Taidgh
January 6th, 2009, 12:08 AM
Web development can be seen as a whole other area, and languages like html and css are generally not seen as true programming languages. If you want to get into the 'desktop' side of programming, which this forum is dedicated to, I suggest a language such as Python (http://en.wikipedia.org/wiki/Python). It is used as an introductory language for many people, and is effective, IMHO. Languages like C++ tend to introduce concepts that a novice cannot fully grasp early on. A good beginner's tutorial using Python can be found here: www.freenetpages.co.uk/hp/alan.gauld/
Once you go through that tutorial, or a similar one, it should be easier to decide where to go next with your programming. And you should understand the fundamental concepts of all (imperative) programming languages, making it easier to learn new ones.

Mantanas
January 6th, 2009, 12:25 AM
Thank you very much!:KS

Taidgh
January 6th, 2009, 12:30 AM
No problem. Would you mind giving me my first thank (the little button on the post)?
/thankwhore

Mantanas
January 6th, 2009, 12:40 AM
Not at all, I was so amazed. I got a reply very quick...and helped me a lot. I will focus on Python and later see what programing language I will adopt. Many thanks again, if you have other things to say, some advices...etc...please tell me. I want to make something very serious out of this, and since I don't have experience like other have...some advices, hints, tips..would be awesome.

mike_g
January 6th, 2009, 12:58 AM
I'd agree that Python would be a good starting point, but I'd disagree that it is a "desktop" language as it can also be used for serving web pages. I also dont think that this forum is dedicated to "desktop development". Actually I dont like the whole idea of this separation; network technologies are just another tool.

As for what you want to do with yourself, thats not really a question anyone else can answer for you. Do what you want and have fun with it :)

pmasiar
January 6th, 2009, 06:42 AM
HTML/CSS etc are "presentation markup" languages, not programming languages at all. They are useful if you want to program web-baes apps (which is rather popular) but they cannot be considered "programming languages".

Python is excellent language to learn programming for a beginner, see wiki in my sig for links.

To become competent programmer, you will need to learn also language-independent knowledge about algorithms and data structures, building complex systems and debugging, and more. It takes years to become competent, but it is fun. Read stickies, there are plenty links for you there.

monkeyking
January 6th, 2009, 07:46 AM
If you have no experience with programming,
I would recommend http://gambas.sourceforge.net/

It's not so used, but it contains all the basic constructs a modern language has.

But most importantly, it has a graphic user, that makes it very easy and also fun to program.
you can create buttons that change their text when you pull your mouse over etc.

It's a kind of visual basic for unix,
last time i checked it didn't exist in 64bit.

good luck

Kilon
January 6th, 2009, 09:55 AM
If you have no experience with programming,

last time i checked it didn't exist in 64bit.

good luck

it is now

http://gambas.sourceforge.net/

"What is Gambas" Section.


Gambas is only a 32 bit application, and does not run natively on 64 bit systems. Not true anymore!

Gambas is a very impressive product, I added it in my list of easy languages/IDEs.

Mantanas
January 6th, 2009, 02:59 PM
Thanks very much people. You're support is awesome. This is my dream job, one day to be a good programmer. Not for money and stuff...but for my soul. Money goes...life is short so why waste time with that. Again thanks, I don't know what else I should say. I will learn hard and I hope, I'll get back here and help others like you did.
Only one question:After I learn python, i wanna move to C. C tutorials have algorithms and things like that in them? Sorry, maybe it seems a little stupid but I'm very confused. There are many things I need to do. Anyway, thank you very very much. I wish you all the best!:popcorn:

jespdj
January 6th, 2009, 03:11 PM
See the sticky at the top of the forum:

Read Before Posting: Forum FAQ's, how to learn to program, and Linux programming (http://ubuntuforums.org/showthread.php?t=1006666)

monkeyking
January 6th, 2009, 04:00 PM
Gambas is a very impressive product, I added it in my list of easy languages/IDEs.

Yes it's quite good, nobody knows it, thats the problem.
Nowhere to ask for help when you got troubles.

nvteighen
January 6th, 2009, 04:21 PM
Thanks very much people. You're support is awesome. This is my dream job, one day to be a good programmer. Not for money and stuff...but for my soul. Money goes...life is short so why waste time with that. Again thanks, I don't know what else I should say. I will learn hard and I hope, I'll get back here and help others like you did.
Only one question:After I learn python, i wanna move to C. C tutorials have algorithms and things like that in them? Sorry, maybe it seems a little stupid but I'm very confused. There are many things I need to do. Anyway, thank you very very much. I wish you all the best!:popcorn:

Actually, you'll find writing algorithms being much easier in languages like Python rather than in C. In C you'll gain computer speed, but you'll have to take manual control over a lot of stuff... In Python (or any other "high abstraction level language"), instead, you'll be able to map ideas into code without caring on that "mechanical" stuff. Of course, learning C is a must for any programmer willing to be decent... even if just for the sake of understanding history (I believe anyone that studies anything should know that discipline's history, so you can understand what were the past's problems, how were they solved or, if not solved, understand why they weren't and what possibilities there are today to solve them in order to improve our knowledge and technology in a near future).

Mantanas
January 7th, 2009, 06:22 AM
Thank you very much for helping me. Happy new year to all of you. Now there is only on thing I need to do:learn learn learn..

CoffeyW
January 7th, 2009, 07:11 AM
After getting the concepts down I would recommend learning java. Because of the java virtual machine it is automatically cross platform. Java programs can also be put into websites as applets although they have restrictions. If you want to try it out I recommend using eclipse as your IDE.

unfortunately because it is interpreted it will never be as fast as C or C++.

Kilon
January 7th, 2009, 08:54 AM
Thank you very much for helping me. Happy new year to all of you. Now there is only on thing I need to do:learn learn learn..

Python has several advantages. Obviously the big advantage it that the language is simpler, produces much less code, easier to understand , much quicker to develop. Code doing the same thing can be 10 times less in Python compared to C++. Also python dose not restrict you. You can use C++ along with python just fine and there are alot of libraries to help you with the process.

Another big advantage of python is ironpython and jython. I am currently enjoying the fruits of python. Jython let you use JAVA libraries while ironpython let you use .NET libraries.

I have found that Jython gives the opportunity to learn both languages (Python and JAVA) with spending much less time than I would for learning JAVA only. That happens because I can avoid the complicate parts of JAVA and simplify them with the python syntax.

You are right to say that learning is the big deal. Obviously no language will magically create the exact program you want. Knowledge is highly required. And knowledge needs time.

CptPicard
January 7th, 2009, 09:17 AM
unfortunately because it is interpreted it will never be as fast as C or C++.

Uh, no. Java is not interpreted. It's bytecode-compiled, which is then JIT-compiled for the target architecture the JVM runs on.

There certainly are speed differences, but this claim is just false.