Author Topic: I want to start programming.  (Read 11211 times)

0 Members and 1 Guest are viewing this topic.

Offline rowdy

  • HHKB Hapster
  • * Erudite Elder
  • Posts: 21175
  • Location: melbourne.vic.au
  • Missed another sale.
Re: I want to start programming.
« Reply #50 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.
"Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. It’s in HHKB’s slogan, but when America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces." - Eiiti Wada

NEC APC-H4100E | Ducky DK9008 Shine MX blue LED red | Ducky DK9008 Shine MX blue LED green | Link 900243-08 | CM QFR MX black | KeyCool 87 white MX reds | HHKB 2 Pro | Model M 02-Mar-1993 | Model M 29-Nov-1995 | CM Trigger (broken) | CM QFS MX green | Ducky DK9087 Shine 3 TKL Yellow Edition MX black | Lexmark SSK 21-Apr-1994 | IBM SSK 13-Oct-1987 | CODE TKL MX clear | Model M 122 01-Jun-1988

Ị̸͚̯̲́ͤ̃͑̇̑ͯ̊̂͟ͅs̞͚̩͉̝̪̲͗͊ͪ̽̚̚ ̭̦͖͕̑́͌ͬͩ͟t̷̻͔̙̑͟h̹̠̼͋ͤ͋i̤̜̣̦̱̫͈͔̞ͭ͑ͥ̌̔s̬͔͎̍̈ͥͫ̐̾ͣ̔̇͘ͅ ̩̘̼͆̐̕e̞̰͓̲̺̎͐̏ͬ̓̅̾͠͝ͅv̶̰͕̱̞̥̍ͣ̄̕e͕͙͖̬̜͓͎̤̊ͭ͐͝ṇ̰͎̱̤̟̭ͫ͌̌͢͠ͅ ̳̥̦ͮ̐ͤ̎̊ͣ͡͡n̤̜̙̺̪̒͜e̶̻̦̿ͮ̂̀c̝̘̝͖̠̖͐ͨͪ̈̐͌ͩ̀e̷̥͇̋ͦs̢̡̤ͤͤͯ͜s͈̠̉̑͘a̱͕̗͖̳̥̺ͬͦͧ͆̌̑͡r̶̟̖̈͘ỷ̮̦̩͙͔ͫ̾ͬ̔ͬͮ̌?̵̘͇͔͙ͥͪ͞ͅ

Offline Findecanor

  • Posts: 5040
  • Location: Koriko
Re: I want to start programming.
« Reply #51 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.
🍉

Offline nuclearsandwich

  • Posts: 752
  • Location: Santa Clara Valley, CA
Re: I want to start programming.
« Reply #52 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 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.


Offline daerid

  • Posts: 4276
  • Location: Denver, CO
    • Rossipedia
Re: I want to start programming.
« Reply #53 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.

Offline DamienG

  • Posts: 315
  • Location: Redmond, WA
    • DamienG
Re: I want to start programming.
« Reply #54 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

Offline hashbaz

  • Grand Ancient One
  • * Moderator Emeritus
  • Posts: 5057
  • Location: SF Bae Area
Re: I want to start programming.
« Reply #55 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.

Offline rowdy

  • HHKB Hapster
  • * Erudite Elder
  • Posts: 21175
  • Location: melbourne.vic.au
  • Missed another sale.
Re: I want to start programming.
« Reply #56 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.
"Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. It’s in HHKB’s slogan, but when America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces." - Eiiti Wada

NEC APC-H4100E | Ducky DK9008 Shine MX blue LED red | Ducky DK9008 Shine MX blue LED green | Link 900243-08 | CM QFR MX black | KeyCool 87 white MX reds | HHKB 2 Pro | Model M 02-Mar-1993 | Model M 29-Nov-1995 | CM Trigger (broken) | CM QFS MX green | Ducky DK9087 Shine 3 TKL Yellow Edition MX black | Lexmark SSK 21-Apr-1994 | IBM SSK 13-Oct-1987 | CODE TKL MX clear | Model M 122 01-Jun-1988

Ị̸͚̯̲́ͤ̃͑̇̑ͯ̊̂͟ͅs̞͚̩͉̝̪̲͗͊ͪ̽̚̚ ̭̦͖͕̑́͌ͬͩ͟t̷̻͔̙̑͟h̹̠̼͋ͤ͋i̤̜̣̦̱̫͈͔̞ͭ͑ͥ̌̔s̬͔͎̍̈ͥͫ̐̾ͣ̔̇͘ͅ ̩̘̼͆̐̕e̞̰͓̲̺̎͐̏ͬ̓̅̾͠͝ͅv̶̰͕̱̞̥̍ͣ̄̕e͕͙͖̬̜͓͎̤̊ͭ͐͝ṇ̰͎̱̤̟̭ͫ͌̌͢͠ͅ ̳̥̦ͮ̐ͤ̎̊ͣ͡͡n̤̜̙̺̪̒͜e̶̻̦̿ͮ̂̀c̝̘̝͖̠̖͐ͨͪ̈̐͌ͩ̀e̷̥͇̋ͦs̢̡̤ͤͤͯ͜s͈̠̉̑͘a̱͕̗͖̳̥̺ͬͦͧ͆̌̑͡r̶̟̖̈͘ỷ̮̦̩͙͔ͫ̾ͬ̔ͬͮ̌?̵̘͇͔͙ͥͪ͞ͅ

Offline Gunni

  • Thread Starter
  • Posts: 110
  • Location: Australia
Re: I want to start programming.
« Reply #57 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.
CM Storm Quickfire TK w/ Browns HHKB Pro 2

Offline bueller

  • MX baller
  • * Esteemed Elder
  • Posts: 3769
  • Location: Perth, Australia
  • Church of the Ergo Clear
Re: I want to start programming.
« Reply #58 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?
It's a good width!  If it's half-width it's too narrow, and full-width is too wide. 

[WTT] bueller's trade thread - CLACKS WANTED

Offline Gunni

  • Thread Starter
  • Posts: 110
  • Location: Australia
Re: I want to start programming.
« Reply #59 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.
CM Storm Quickfire TK w/ Browns HHKB Pro 2

Offline bueller

  • MX baller
  • * Esteemed Elder
  • Posts: 3769
  • Location: Perth, Australia
  • Church of the Ergo Clear
Re: I want to start programming.
« Reply #60 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.
It's a good width!  If it's half-width it's too narrow, and full-width is too wide. 

[WTT] bueller's trade thread - CLACKS WANTED

Offline bueller

  • MX baller
  • * Esteemed Elder
  • Posts: 3769
  • Location: Perth, Australia
  • Church of the Ergo Clear
Re: I want to start programming.
« Reply #61 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.
It's a good width!  If it's half-width it's too narrow, and full-width is too wide. 

[WTT] bueller's trade thread - CLACKS WANTED

Offline rowdy

  • HHKB Hapster
  • * Erudite Elder
  • Posts: 21175
  • Location: melbourne.vic.au
  • Missed another sale.
Re: I want to start programming.
« Reply #62 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".
"Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. It’s in HHKB’s slogan, but when America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces." - Eiiti Wada

NEC APC-H4100E | Ducky DK9008 Shine MX blue LED red | Ducky DK9008 Shine MX blue LED green | Link 900243-08 | CM QFR MX black | KeyCool 87 white MX reds | HHKB 2 Pro | Model M 02-Mar-1993 | Model M 29-Nov-1995 | CM Trigger (broken) | CM QFS MX green | Ducky DK9087 Shine 3 TKL Yellow Edition MX black | Lexmark SSK 21-Apr-1994 | IBM SSK 13-Oct-1987 | CODE TKL MX clear | Model M 122 01-Jun-1988

Ị̸͚̯̲́ͤ̃͑̇̑ͯ̊̂͟ͅs̞͚̩͉̝̪̲͗͊ͪ̽̚̚ ̭̦͖͕̑́͌ͬͩ͟t̷̻͔̙̑͟h̹̠̼͋ͤ͋i̤̜̣̦̱̫͈͔̞ͭ͑ͥ̌̔s̬͔͎̍̈ͥͫ̐̾ͣ̔̇͘ͅ ̩̘̼͆̐̕e̞̰͓̲̺̎͐̏ͬ̓̅̾͠͝ͅv̶̰͕̱̞̥̍ͣ̄̕e͕͙͖̬̜͓͎̤̊ͭ͐͝ṇ̰͎̱̤̟̭ͫ͌̌͢͠ͅ ̳̥̦ͮ̐ͤ̎̊ͣ͡͡n̤̜̙̺̪̒͜e̶̻̦̿ͮ̂̀c̝̘̝͖̠̖͐ͨͪ̈̐͌ͩ̀e̷̥͇̋ͦs̢̡̤ͤͤͯ͜s͈̠̉̑͘a̱͕̗͖̳̥̺ͬͦͧ͆̌̑͡r̶̟̖̈͘ỷ̮̦̩͙͔ͫ̾ͬ̔ͬͮ̌?̵̘͇͔͙ͥͪ͞ͅ