geekhack

geekhack Community => Other Geeky Stuff => Topic started by: Gunni on Mon, 16 September 2013, 00:46:51

Title: I want to start programming.
Post by: Gunni on Mon, 16 September 2013, 00:46:51
Hello Everyone,

So I want to start programming. I've been learning VB at school in IT class, now I want to try some different languages. I attempted Java a while back but it was quite confusing so I quit.

What do you guys recommend as a beginner language?

Thanks,
~ Gunni

Title: Re: I want to start programming.
Post by: noisyturtle on Mon, 16 September 2013, 01:01:09
A great beginner language is Actionscript. Try making a short Flash movie or asteroids type game in CS5/6 and you'll get a pretty good introduction to programming. Others might reccommend C++ or C# but Actionscript does a lot of the problem solving for you, which IMO makes it one of the best introductory scripting languages you can learn.
Title: Re: I want to start programming.
Post by: Gunni on Mon, 16 September 2013, 01:09:34
A great beginner language is Actionscript. Try making a short Flash movie or asteroids type game in CS5/6 and you'll get a pretty good introduction to programming. Others might reccommend C++ or C# but Actionscript does a lot of the problem solving for you, which IMO makes it one of the best introductory scripting languages you can learn.

Oh okay, sounds good. I might wait for a second opinion before I download anything but want programs would I need to program Actionscript?

Thanks :)
Title: Re: I want to start programming.
Post by: noisyturtle on Mon, 16 September 2013, 01:13:37
You'll need Adobe CS 5 or 6 which you can find pretty easily for free, and there's a ton of beginners tutorials online with step by step guides to making simple platformers or vertical shooter games.
Title: Re: I want to start programming.
Post by: bueller on Mon, 16 September 2013, 01:19:24
If I was going to learn all over again I'd probably start with Python or Java, I started in C about a decade ago and it bored me so much I didn't pick up programming again until recently. When I started learning a while back I found the Head First Java (http://www.amazon.com/Head-First-Java-2nd-Edition/dp/0596009208) very helpful, it can be found in PDF form online if you're handy with Google :)

Codingbat (http://codingbat.com/) also offers exercises to get you used to loops and the like, found these brilliant for getting my head around problem solving.
Title: Re: I want to start programming.
Post by: bueller on Mon, 16 September 2013, 01:22:22
Also just remembered that Stanford offers their Programming Methodology (http://www.stanford.edu/class/cs106a/index.html) course in its entirety online, I'm about 5 lectures in and was blown away by how much I learnt. Definitely worth a look.
Title: Re: I want to start programming.
Post by: Jack on Mon, 16 September 2013, 01:28:47
People keep recommending http://learnpythonthehardway.org/ to me, and though I haven't found the time to really go into it, it seems promising after a skim.
Title: Re: I want to start programming.
Post by: dragonxx21 on Mon, 16 September 2013, 01:29:09
I'm a complete noob in terms of programming. How hard would it be to start learning? Would I need to dedicate a lot of my time in order to learn in a reasonable amount of time?
Title: Re: I want to start programming.
Post by: nuclearsandwich on Mon, 16 September 2013, 01:33:41
A great beginner language is Actionscript.

I find the javascript variants to be terrible first languages because of how quickly things get weird or hand-wavy with closures.

Learn Python the Hard Way is a great introduction to programming. Chris Pine's Learn to Program with Ruby is also decent. I have a huuuge collection of intro to programming books because I teach programming. Are you in the US by chance?
Title: Re: I want to start programming.
Post by: hashbaz on Mon, 16 September 2013, 01:34:16
I'm a complete noob in terms of programming. How hard would it be to start learning? Would I need to dedicate a lot of my time in order to learn in a reasonable amount of time?

It's easy to get started, just pick up a book or find some tutorials.  I think Python is a great place to start.  Or any of the other recs above.
Title: Re: I want to start programming.
Post by: noisyturtle on Mon, 16 September 2013, 02:16:26
Python makes sense if you already have a background in programming. If you don't, it could turn you off scripting languages forever.
Title: Re: I want to start programming.
Post by: Gunni on Mon, 16 September 2013, 02:32:00
A lot of mixed feelings; Actionscript, Python, Java. I've also been recommend C by a few people outside of GH.

I guess I'll wait/search for some more opinions/suggestions before making a desicion.
Title: Re: I want to start programming.
Post by: nuclearsandwich on Mon, 16 September 2013, 02:43:57
I've also been recommend C by a few people outside of GH.

C will teach you a lot about how computers work. It's a fascinating and small, yet powerful language. What it won't do is allow you to be productive quickly. Learn C the Hard Way is a sequel of sorts to Learn Python the Hard Way so if you wanted a natural progression it doesn't get better than that.
Title: Re: I want to start programming.
Post by: phoenix1234 on Mon, 16 September 2013, 02:53:08
Hello Everyone,

So I want to start programming. I've been learning VB at school in IT class, now I want to try some different languages. I attempted Java a while back but it was quite confusing so I quit.

What do you guys recommend as a beginner language?

Thanks,
~ Gunni

If you are new, and you want to learn programming, you can take a look at Alice.
http://www.alice.org/index.php
( introduced by Carnegie Mellon University )

Rather than focusing on programming language, Alice focuses on teaching students how to do the programming, basic concepts, object-oriented terminologies, parallel interaction, etc. 
It is interesting to learn and play as games :thumb:
Title: Re: I want to start programming.
Post by: rowdy on Mon, 16 September 2013, 06:01:38
Python has the potential to expose you to object-oriented programming, graphical user interfaces, network communication, database access, is cross-platform, is a compact language (i.e. you can fairly easily understand the whole syntax, not just bits and pieces of it), has a very comprehensive standard library ("batteries included"), and is pre-installed on most proper operating systems (except Microsoft).

You can write games in it, or just a simple few line script to process a text file.
Title: Re: I want to start programming.
Post by: bueller on Mon, 16 September 2013, 06:18:34
Python has the potential to expose you to object-oriented programming

You had me at 'object oriented programming'.
Title: Re: I want to start programming.
Post by: MTManiac on Mon, 16 September 2013, 10:36:42
check out koans for learning ruby with or without rails
pretty easy to learn and there are TONS of jobs out there for ruby programmers

my only other advice would be to figure out something you want to make or create or something that really interests you and learn how it works or how to make it, then figure out what language it's programmed in and learn that. If you learn programming just to learn it, you won't have as much fun as if you were learning how to create or modify something you already enjoy.
Title: Re: I want to start programming.
Post by: daerid on Mon, 16 September 2013, 10:59:35
Don't write off C. It's a really, really important language to know. As nuclearsandwich mentioned, you'll learn a lot about how computers work. Which is hugely important when you run into problems in those higher level languages. Yes, it can be boring, but knowing the low-level stuff is one thing that separates the pros from the rest, and when you run into those arcane issues that cause other guys to just grind to a halt you'll be glad you understand what's going on underneath.

Plus, practically all the other languages you could learn are implemented in C.
Title: Re: I want to start programming.
Post by: Tarzan on Mon, 16 September 2013, 11:21:28
<snipped quote>
...knowing the low-level stuff is one thing that separates the pros from the rest, and when you run into those arcane issues that cause other guys to just grind to a halt you'll be glad you understand what's going on underneath.

This is spot-on advice, in my opinion.  Along the same lines, please don't overlook the importance of SQL.   I've hired software engineers/developers/support personnel at three different tech companies over the past ten years, and have always had to struggle to find people with good SQL skills.  Candidates would say they had sql experience, but completely bog down when asked to describe a select statement to return x-number of rows from a database.
Title: Re: I want to start programming.
Post by: Clicky on Mon, 16 September 2013, 12:39:53
So I definitely don't have a pro opinion since I'm just a beginner myself, but in my experience I was drawn to C++ and Java...actionscript is really similar, but for some reason I didn't enjoy it as much.  Had been looking into going into "Learning Python the Hard Way" once I had some free time, but now that I know Learning C the Hard Way exists I might have a change in plans. 

Whatever you choose, I hope you enjoy learning to program as much as I have (so far).
Title: Re: I want to start programming.
Post by: hashbaz on Mon, 16 September 2013, 12:49:43
Don't write off C. It's a really, really important language to know. As nuclearsandwich mentioned, you'll learn a lot about how computers work. Which is hugely important when you run into problems in those higher level languages. Yes, it can be boring, but knowing the low-level stuff is one thing that separates the pros from the rest, and when you run into those arcane issues that cause other guys to just grind to a halt you'll be glad you understand what's going on underneath.

Plus, practically all the other languages you could learn are implemented in C.

I agree with you about C and the importance of actually understanding how high-level stuff is implemented.  But for a first language and intro to programming in general, I think something like Python is more appropriate as it makes an emphasis on concepts rather than mechanics easier.

That said, there is no one right way to learn, and OP should probably just dive in and see what works for him/her.  I learned the (very) basics of programming in QBASIC, and then moved very quickly into C and C++ and then into assembler, then later into the higher level scripting languages like Python and Perl.
Title: Re: I want to start programming.
Post by: metalliqaz on Mon, 16 September 2013, 13:14:58
Python.

EDIT: Also C.
Title: Re: I want to start programming.
Post by: nuclearsandwich on Mon, 16 September 2013, 13:32:33
Python has the potential to expose you to object-oriented programming

You had me at 'object oriented programming'.

Python's OOP is broken and rough compared to Ruby's. It's one of the reasons I didn't stay with the language outside of modding Civilization III.
Title: Re: I want to start programming.
Post by: metalliqaz on Mon, 16 September 2013, 14:20:03
Python has the potential to expose you to object-oriented programming

You had me at 'object oriented programming'.

Python's OOP is broken and rough compared to Ruby's. It's one of the reasons I didn't stay with the language outside of modding Civilization III.

Broken how?

I think some programmers confuse object oriented features with object oriented programming.  You can do OOP with C if you were so inclined, despite the complete lack of helpful features.

Ruby definitely has more typical features, but I'd like to know how Python is broken?
Title: Re: I want to start programming.
Post by: Jack on Mon, 16 September 2013, 16:26:00
I definitely second the advice to find an area of practical application and use it to learn from. I don't have much programming experience, but what I do have is largely from doing little projects I've wanted to get done, inspired by the things I use daily: Perl scripts for irssi, sysadmin stuff to talk to back-end processes on a Linux box via a web interface, and so on. I've accomplished exactly nothing by trying to just plain Learn Programming, though to be fair maybe others can do better at that than me.
Title: Re: I want to start programming.
Post by: acantha on Mon, 16 September 2013, 16:30:06
I definitely second the advice to find an area of practical application and use it to learn from. I don't have much programming experience, but what I do have is largely from doing little projects I've wanted to get done, inspired by the things I use daily: Perl scripts for irssi, sysadmin stuff to talk to back-end processes on a Linux box via a web interface, and so on. I've accomplished exactly nothing by trying to just plain Learn Programming, though to be fair maybe others can do better at that than me.

thirded. i learned python purely through projects. check out http://www.codecademy.com/ its got some good, project based free programming courses.
Title: Re: I want to start programming.
Post by: SidusNare on Mon, 16 September 2013, 16:49:38
python is a powerful and feature rich language, but it is not like many other programing languages. I wouldn't recommend using it to learn programing because it is unlike much of the languages out there. I wouldn't recommend VB either.

If you want to get a good idea of real programing, I would recommend C. Then move on to C++ and / or java. It isn't easy but it is worthwhile to stick with it.  A lot of what is out there is derivative of it or at least written in it. The majority of the Linux kernel is written in C++. Even with all the fad languages and the hip new paradigms of scale, demand for good C / C++ programmers is steady and well rewarded

http://www.glassdoor.com/Salaries/c-developer-salary-SRCH_KO0,11.htm

I am not a fan of Microsoft products, but if you are, even Visual C++ or C# would be a decent foundation to learn on.

IMHO
Title: Re: I want to start programming.
Post by: metalliqaz on Mon, 16 September 2013, 17:18:33
I would recommend C# also except for the fact that Microsoft seems to have abandoned .NET
Title: Re: I want to start programming.
Post by: nuclearsandwich on Mon, 16 September 2013, 19:46:59
Python has the potential to expose you to object-oriented programming

You had me at 'object oriented programming'.

Python's OOP is broken and rough compared to Ruby's. It's one of the reasons I didn't stay with the language outside of modding Civilization III.

Broken how?

I think some programmers confuse object oriented features with object oriented programming.  You can do OOP with C if you were so inclined, despite the complete lack of helpful features.

Ruby definitely has more typical features, but I'd like to know how Python is broken?

Python 2 still has old-style and new-style classes (http://docs.python.org/2/tutorial/classes.html) and the two have silly semantics when interacting and the Python community has still not adopted Python 3 as the official Python yet. Most libraries and tutorials are still primarily on Python 2.

That and silly little things like str() and len() being in the global namespace really break consistency, which is the backbone of any system.
Title: Re: I want to start programming.
Post by: rowdy on Mon, 16 September 2013, 23:23:16
The Tiobe Index (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) gives a vague idea of the popularity of various programming languages.

C and Java are the top two by a fair margin.

Python comes in at number 8.
Title: Re: I want to start programming.
Post by: bueller on Mon, 16 September 2013, 23:26:08
<snipped quote>
...knowing the low-level stuff is one thing that separates the pros from the rest, and when you run into those arcane issues that cause other guys to just grind to a halt you'll be glad you understand what's going on underneath.

This is spot-on advice, in my opinion.  Along the same lines, please don't overlook the importance of SQL.   

Oh yeah, SQL is a big one according to my mentor. My first project was actually a GWT time-sheets app on SQLite, damn that was a learning experience.
Title: Re: I want to start programming.
Post by: Thimplum on Tue, 17 September 2013, 08:09:08
I vote python, and then C.
Title: Re: I want to start programming.
Post by: codyeatworld on Tue, 17 September 2013, 08:24:57
I started off with ruby. http://www.codeschool.com/courses#all really helped me get going with all aspects of web development.
They have courses for html, css, js/jquery, rails/ruby,ios, and test driven development.

There is also railscasts if you get into rails.
Title: Re: I want to start programming.
Post by: daerid on Tue, 17 September 2013, 13:09:14

I would recommend C# also except for the fact that Microsoft seems to have abandoned .NET

Microsoft have most definitely not abandoned .NET. Yeah they're pushing c++ and JS recently, but that's just good business. C# is still the breadwinner in the MS world by a longshot.

C# happens to be the most popular language for iOS apps (I believe), and you can thank Xamarin (not MS) for that.
Title: Re: I want to start programming.
Post by: daerid on Tue, 17 September 2013, 13:10:40
Type system/object model aside, I find Python much more consistent than Ruby.
Title: Re: I want to start programming.
Post by: davkol on Tue, 17 September 2013, 13:48:56
I'm one of those people who believe that the first language you master determines the way you will approach problems. I got stuck with Python after trying many common languages such as Java, and it has definitely influenced me. Therefore, if you want to do low-level stuff, go with C, but otherwise start with something actually high-level... and stay away from C++, C# and Java. I mean, they're useful, but goddamn awful for learning... also far from elegant.

I recommend to look into Python, C and Scheme/Racket at first. Each of them is simple and clean in a way, and teaches you a certain programming paradigm. Once you are able to solve most exercises at Project Euler fluently in those languages, join an open-source project of your choice in any language you like.

Although I certainly do like Ruby, Common Lisp, Haskell, D and some others, I don't think any of them is really suitable for newcomers.
Title: Re: I want to start programming.
Post by: TLSC.wipeOut on Tue, 17 September 2013, 16:23:52
I'm not exactly a programmer or anything but I found learning Python to be quite fun and intuitive =)
Title: Re: I want to start programming.
Post by: Thimplum on Tue, 17 September 2013, 16:25:53
I started learning python when I was ten. It's a great, extensible language.
Title: Re: I want to start programming.
Post by: Gunni on Wed, 18 September 2013, 03:01:15
Looks like I'll start with Python! If that doesn't work out then I might move onto C :D

What program/programs do I need to code Python? Also, can someone link me the proper "Learn Python The Hard Way" tutorial that has been recommended?


Thanks everyone for your contributions.
Title: Re: I want to start programming.
Post by: nuclearsandwich on Wed, 18 September 2013, 03:15:24
Looks like I'll start with Python! If that doesn't work out then I might move onto C :D

What program/programs do I need to code Python? Also, can someone link me the proper "Learn Python The Hard Way" tutorial that has been recommended?


Thanks everyone for your contributions.

The book (http://learnpythonthehardway.org/book/) is free to read online and exercise 0 (http://learnpythonthehardway.org/book/ex0.html) is the setup guide and has everything you'll need to get started.

I suggest Brackets (http://brackets.io/) as a simple starting text editor which you can download from here (http://download.brackets.io/). It wasn't around when LPtHW was written and by the time you need a more advanced editor you'll know.

Have fun and good luck. Programming is frustrating but ever so rewarding. Feel free to PM me if you ever get stuck or have questions. J'adore teaching.
Title: Re: I want to start programming.
Post by: bueller on Wed, 18 September 2013, 03:19:17
Looks like I'll start with Python! If that doesn't work out then I might move onto C :D

What program/programs do I need to code Python? Also, can someone link me the proper "Learn Python The Hard Way" tutorial that has been recommended?


Thanks everyone for your contributions.

Best of luck! Don't forget there are some nice warmup coding exercises for Python over at Codingbat. (http://codingbat.com/python)
Title: Re: I want to start programming.
Post by: Aseral on Wed, 18 September 2013, 04:01:52
My first language was C and I feel very lucky that it was. Learning a new language seems very easy now. It's important that you follow a good tutorial though.
Title: Re: I want to start programming.
Post by: rowdy on Wed, 18 September 2013, 17:04:46
Looks like I'll start with Python! If that doesn't work out then I might move onto C :D

What program/programs do I need to code Python? Also, can someone link me the proper "Learn Python The Hard Way" tutorial that has been recommended?


Thanks everyone for your contributions.

What OS are you using?

Most Unices (including OS X) come with some sort of Python already installed.

Except Windows.

For Windows I recommend ActiveState's ActivePython (http://www.activestate.com/activepython) - comes with lots of libraries and one simple installer.

You need to decide whether you want to learn 2.x or 3.x.  2.3 is older, but still supported.  Lots of libraries support only 2.x.  3.x is newer, changes some basic syntax (i.e. is not backwards compatible),and is not supported by some libraries.  Personally I use 2.x.
Title: Re: I want to start programming.
Post by: Rayne on Wed, 18 September 2013, 17:10:56
Even tho I'm not the op, I want to thank everyone for there suggestions. Iv want to start programming for a while now but never really knew how to start. After seeing some of the posts here I decided to give it another go. Even tho its only been a few days iv already learned more than I have in the past when iv tried.

I do have background with HTML and some CSS so guess that might? help a little.
Title: Re: I want to start programming.
Post by: rowdy on Wed, 18 September 2013, 17:29:58
Even tho I'm not the op, I want to thank everyone for there suggestions. Iv want to start programming for a while now but never really knew how to start. After seeing some of the posts here I decided to give it another go. Even tho its only been a few days iv already learned more than I have in the past when iv tried.

I do have background with HTML and some CSS so guess that might? help a little.

HTML and CSS will not really help, but has probably introduced you to syntax-colouring editors?

Programming is more about algorithms, and trying to convince a language syntax to most effectively implement the algorithm.

Hence a lot of people learn several languages and choose the most appropriate one for the job.
Title: Re: I want to start programming.
Post by: daerid on Wed, 18 September 2013, 19:40:34
For python go with the official installer from Python.org. For 2.x, the current version is 2.7.
Title: Re: I want to start programming.
Post by: rowdy on Wed, 18 September 2013, 20:21:50
For python go with the official installer from Python.org. For 2.x, the current version is 2.7.

Not ActiveState ActivePython?  Includes a bunch of extra libraries.
Title: Re: I want to start programming.
Post by: daerid on Thu, 19 September 2013, 15:35:05

For python go with the official installer from Python.org. For 2.x, the current version is 2.7.

Not ActiveState ActivePython?  Includes a bunch of extra libraries.

I generally don't advocate using some other entity's interpretation of how to use a language, which is why I always suggest official distress when learning.
Title: Re: I want to start programming.
Post by: daerid on Thu, 19 September 2013, 15:35:20
*distros
Title: Re: I want to start programming.
Post by: Clicky on Thu, 19 September 2013, 17:37:31
Hey I have a related question, does anyone know of some top-notch sources on the web where you can go to view well written code? I feel like I'm in an awkward stage of learning programming where I understand the ideas but would like to see real world source code and how these ideas are applied. Also how good do you need to be (or how much do you need to know) before you can try to contribute to open source projects and how would you get involved in them?

Sorry, should I ask this in a new thread?
Title: Re: I want to start programming.
Post by: rowdy on Thu, 19 September 2013, 17:38:03

For python go with the official installer from Python.org. For 2.x, the current version is 2.7.

Not ActiveState ActivePython?  Includes a bunch of extra libraries.

I generally don't advocate using some other entity's interpretation of how to use a language, which is why I always suggest official distress when learning.

That would make for a steeper learning curve - how to obtain, compile (if necessary), install and update the raw package and extra libraries, compared to just doing one pre-packaged install.

For someone who is learning the language, generally a single package install containing many useful libraries will let them get on with the task of learning the language, and only when they need something outside of the installed libraries, or want to go that next step, would they need to install the raw package and source and install all the extra libraries.

I've done both, and (particularly for Windows) installing a pre-packaged collection is much easier.  For most Linuxy operating systems the package manager generally has most of the libraries I need.
Title: Re: I want to start programming.
Post by: Findecanor on Thu, 19 September 2013, 17:58:58
What do you guys recommend as a beginner language?
What are your goals? Do you want to learn enough to create interactive web pages or do you want to become good at programming?
If you are serious about programming, then you should try to learn not just one, but different types of programming languages. You could learn more about your own culture by visiting other cultures.

I would suggest: Ruby, Erlang and C, because they are different.

Ruby is very cute, completely object-oriented, modern and friendly.
Erlang is a "functional" language. It is pretty hot right now and quite a lot different and I think that more programming in the future is going to be like in Erlang.
C is the grand-daddy of programming languages - tedious to write in, but learning C will teach you more about how computers work, and that is a good thing. It has also influenced more successive languages  than any other (C++, Java, C#  are just a few) and those languages have kept many of C's original idiosyncrasies.

Java is like the common lowest denominator of programming languages - it is used a whole lot in industry, but it is not very interesting and there are better alternatives for learning. Once you have got object-oriented concepts from Ruby or Python and some C, you will be able to pick up Java easily but you will find it limiting. C# is like a more modern Java, with features from Python and Ruby thrown in, but you will also feel that it is a Microsoft product.
If you are going to have a career in programming, or if you are going to do a lot of web programming, then knowing SQL is important. I have done quite a bit of web programming in PHP but it is basically a simplified C++ with the C standard library. Avoid Perl unless you enjoy punishing yourself.

My own path was Basic followed by assembly language on processors that were nice to program on (6502, Motorola 68000) followed by C/C++. I learned Java, Python and Ruby not far after they came out.
In college, I was subjected to many different languages, but most of them I have not touched since: Pascal, Scheme, Prolog and Smalltalk are a few.
To become professionally good in a language, it is not about knowing the language itself so much as it is about knowing the (de facto or official) standard library that is associated with it.
Title: Re: I want to start programming.
Post by: nuclearsandwich on Thu, 19 September 2013, 21:46:51
Hey I have a related question, does anyone know of some top-notch sources on the web where you can go to view well written code? I feel like I'm in an awkward stage of learning programming where I understand the ideas but would like to see real world source code and how these ideas are applied. Also how good do you need to be (or how much do you need to know) before you can try to contribute to open source projects and how would you get involved in them?

Sorry, should I ask this in a new thread?

There's no "canonical source of wonderful programs" out there that I know of. However, when I was learning Ruby, I spent about 75% of my time writing code, 5% reading published literature (books, ebooks, blog articles) on the language, and the remaining time reading the source code for the most popular libraries I saw being used in the Ruby community.

https://github.com/languages (https://github.com/languages) will take you to the the most popular projects on GitHub for a given language. I like doing this better than reading code from a languages standard library because standard library code is often written early before a languages idioms emerge and keeping them fresh is difficult because the API needs to remain stable. Full disclosure, I work at GitHub.com, the link I referenced above, but I was a superfan long before I started working there and wouldn't hesitate to recommend a better source if I knew of one.

Title: Re: I want to start programming.
Post by: daerid on Fri, 20 September 2013, 00:31:16

[quote author=rowdy link=topic=48627.msg1048153#msg1048153

That would make for a steeper learning curve - how to obtain, compile (if necessary), install and update the raw package and extra libraries, compared to just doing one pre-packaged install.

For someone who is learning the language, generally a single package install containing many useful libraries will let them get on with the task of learning the language, and only when they need something outside of the installed libraries, or want to go that next step, would they need to install the raw package and source and install all the extra libraries.

I've done both, and (particularly for Windows) installing a pre-packaged collection is much easier.  For most Linuxy operating systems the package manager generally has most of the libraries I need.
[/quote]

I'll take a steeper learning curve over people learning to depend on crutches any time.
Title: Re: I want to start programming.
Post by: DamienG on Fri, 20 September 2013, 00:35:15
Think up a project idea that excites you.

Now find a programming language you like the look of that lets you write that and go!

Your worst enemy is getting bored or loosing interest so don't go with a language just because somebody told you to. It will feel like homework.

[)amien
Title: Re: I want to start programming.
Post by: hashbaz on Fri, 20 September 2013, 00:41:12

For python go with the official installer from Python.org. For 2.x, the current version is 2.7.

Not ActiveState ActivePython?  Includes a bunch of extra libraries.

I generally don't advocate using some other entity's interpretation of how to use a language, which is why I always suggest official distress when learning.

That would make for a steeper learning curve - how to obtain, compile (if necessary), install and update the raw package and extra libraries, compared to just doing one pre-packaged install.

For someone who is learning the language, generally a single package install containing many useful libraries will let them get on with the task of learning the language, and only when they need something outside of the installed libraries, or want to go that next step, would they need to install the raw package and source and install all the extra libraries.

I've done both, and (particularly for Windows) installing a pre-packaged collection is much easier.  For most Linuxy operating systems the package manager generally has most of the libraries I need.

I'm with daerid on this one, better to learn the vanilla language and standard libs first.  Installing Python is not hard.  No need to compile anything unless you're on an esoteric Linux distro in which case you already know what you're doing.
Title: Re: I want to start programming.
Post by: rowdy on Fri, 20 September 2013, 00:55:57
ActivePython is the standard Python.  It just happens to have a convenient Windows (and other OS) installed, and includes a few extra libraries that you could install yourself if you really wanted to.
Title: Re: I want to start programming.
Post by: Gunni on Tue, 24 September 2013, 01:27:50
Are there any good video tutorials for Python? This "learnpythonthehardway" seems good, but I can't even get passed exercise 0.

Here are the steps:

Go to http://notepad-plus-plus.org/ with your browser, get the Notepad++ text editor, and install it. You do not need to be the administrator to do this. Done

Make sure you can get to Notepad++ easily by putting it on your desktop and/or in Quick Launch. Both options are available during setup. Done

Run PowerShell from the Start menu. Search for it and you can just hit Enter to run it. Done

Make a shortcut to it on your desktop and/or Quick Launch for your convenience. Done

Run your Terminal program. It won't look like much. What does this mean exactly? Do I just run cmd if I'm using Windows?

In your Terminal program, run python. You run things in Terminal by just typing the name and hitting Enter. I typed 'python' in cmd and it was not recognised.

If you run python and it's not there (python is not recognized..). Install it from http://python.org/download. Done.

Make sure you install Python 2, not Python 3. Done, I downloaded Python 2.7.5

If after you install it python still isn't recognized then in PowerShell enter this:

[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User") When I typed this it comes up with an error.

Close PowerShell and then start it again to make sure Python now runs. If it doesn't, restart may be required. Restarted, nothing changed.



So yeah, that's what's happening at the moment. It's surely not my fault that PowerShell isn't recognising the command?

Thanks.
Title: Re: I want to start programming.
Post by: bueller on Tue, 24 September 2013, 01:30:06
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User") When I typed this it comes up with an error.
[/b][/color]

What's the error message?
Title: Re: I want to start programming.
Post by: Gunni on Tue, 24 September 2013, 01:52:28
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User") When I typed this it comes up with an error.
[/b][/color]

What's the error message?

"Unable to find type [Enviroment]: make sure the assembly containing this type is loaded."

Then there is some other things underneath. I'm actually learning from http://www.codecademy.com/ now, I'm finding it really helpful.
Title: Re: I want to start programming.
Post by: bueller on Tue, 24 September 2013, 01:55:32
Let me just run through the steps myself and I'll see if I can figure out where you're going wrong. I've already got everything except Python so I should be able to figure it out hopefully.
Title: Re: I want to start programming.
Post by: bueller on Tue, 24 September 2013, 02:03:57
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User") When I typed this it comes up with an error.
[/b][/color]

What's the error message?

"Unable to find type [Enviroment]: make sure the assembly containing this type is loaded."

Then there is some other things underneath. I'm actually learning from http://www.codecademy.com/ now, I'm finding it really helpful.

Did you copy and paste the original command or type it in to Powershell? You'll notice the highlighted section of your error is misspelled, copy and paste the command below into Powershell and hopefully it should work fine.

Code: [Select]
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
All you need to do to paste it in PS is right-click. Once you've run the command shut down Powershell and re-start it and then you can test whether Python is working correctly by typing 'python'.

Let me know how you go.
Title: Re: I want to start programming.
Post by: rowdy on Tue, 24 September 2013, 22:50:17
Might not be running PowerShell, it sounds like he is running the standard Command Prompt.

In that case you need to right-click Computer, Properties, Environment Variables (wherever that is on the version you are running), scroll down to PATH, click Edit, add to the end ";C:\Python27" (without quotes), click OK all the way back, start a new Command Prompt and type "python".