topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 7:00 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: I'm thinking about learning how to program.  (Read 35881 times)

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
I'm thinking about learning how to program.
« on: October 25, 2010, 03:27 PM »
Well...the tug is becoming a bit much.  I think I'm ready to start learning how to program slowly.  I feel too limited by my current computer skillset and I'm having way too many ideas and becoming too frustrated with how to deal with it.  I'm thinking of getting into dot Net and C sharp.  I think that's a good beginning for a newbie and the combo will mean fast applications I think.

I've held off on this for years.  I'm totally the kind of person that is drawn to programming.  I've become such a software geek over the years, I know exactly what I want in programs.  I programmed the TI calculators back in high school and got pretty good at it.  I took an introductory class in my freshman year in college for programming.  I did very well in that.  I've just never plunged in because of my other hobbies and I knew it was the kind of thing that would suck me in in a dangerous way.

One thing that I've learned over the years about taking up new things is to just dive in and do it.  I'm inclined to study a lot up front and ask a lot of questions before even getting my hands on something.  But as an adult, that can prevent you from actually starting and I end up in a perpetual state of learning and never doing.

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #1 on: October 25, 2010, 10:09 PM »
I'm thinking of getting into dot Net and C sharp.  I think that's a good beginning for a newbie and the combo will mean fast applications I think.

A good choice, I think, as long as you don't mind that you'll be coding primarily for Windows machines.  Mono isn't far enough along to compare favorably with .NET Framework just yet.

I myself am a novice programmer.  I got my start with C# back in '06, and am still going strong.  I have some tutorials here on DC that'll get you started.  The only thing outdated is that I refer to Visual C# Express 2005 edition, rather than the 2010 edition ;)  And I'd be glad to answer any newbie questions, or to at least research it (if I don't know the answer) and point you in the right direction...

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #2 on: October 25, 2010, 10:54 PM »
In terms of advising people on first languages to tinker with, i think Python represents a pretty good choice, and is probably a more gentle way to get started than C#, while still being fairly good in terms of teaching good programming habits.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #3 on: October 26, 2010, 02:00 AM »
If you are interested in C# it wouldn't hurt to mess around with some compiled C and C++. Once you are programming with classes and inheritance the compiled stuff isn't that much harder.  The main annoyance in C/C++ is you have to deallocate memory instead of just letting the garbage collector handle it.

Just a thought. :)

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #4 on: October 26, 2010, 07:41 AM »
Yep, all good advice, super. 

The only caveat I'd add would be that if you have no programming background, you probably don't want to jump immediately into C++.  I tried that, and was very frustrated.  Backed up to C# and was delighted.  Delphi isn't a bad choice; however, having programmed in both, I can opine that C# is, to me at least, a more succinct language.  But there is .NET support in Delphi now.

Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,288
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #5 on: October 26, 2010, 08:39 AM »
I might be a bit biased, but C# is just so nice to work with.

The syntax is very clean and simple. There isn't a lot of freaky stuff like in Perl.

I think it's a good choice because it's highly productive over a very large range of things.

Also, there is a HUGE amount of code and support for it out there.

http://www.codeproject.com/ -- Great site.

Worrying about memory issues is really not a productive use of your time. C/C++/Objective-C are simply slow that way. Now, there are things where you really need pointers, but not usually. Managed code is simply a wonderful thing.

Later on, you can look at Mono. You WILL miss Visual Studio though. Make no mistake, Visual Studio is the Death Star, and many other IDEs seem like rocks and sticks in comparison.

MonoDevelop is pretty good though. It's not VS, but it works well enough. Don't start there though. It's not the massive productivity tool that VS is.

The Mono team is very good and they really think through a lot of things in Mono, so it's definitely something to get into once you are more comfortable. Don't start with it though.

I prefer strongly-typed languages though, so I would shy away from languages like Python. Both have ups and downs. I just find strong typing is nice to work with.

But at the end of the day, I think the most important thing is the IDE. A nice IDE will help you get things done no matter the language.

.NET, to me, seems like the right way to approach things. It's faster, easier, and more productive. And you can choose any language you want just about. Don't count on having Erlang# though or Lisp#. But you can do functional programming with F# if you like.

There are 2 basic popular IDE types: the VS style ones, and the Eclipse style ones. The Borland, or whatever they're called now, IDEs are like VS. Xcode is sort of like Eclipse.

I'd recommend having a look at Eclipse at some point. You might like the way the UI builder is separate.

Have fun~! Programming is a pure joy!
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #6 on: October 26, 2010, 01:01 PM »
My point being, if you're going to absorb C style syntax, classes, inheritance etc.. you might as well pick up some C at your leisure since there's a compiler for everything.

I do agree C++ as a first language is a bit much.  But if you've been doing C# for 6 months, it might not seem so daunting. But anyway, I don't want to get into the "what's the best first programming language" thread. It was done a few months back. :)

btw I like C#. When I tried the Borland Java based products, I was a bit frustrated. When I did C# I had the advantage of already programming in C and C++. Just made it less to learn.  When doing anything .NET I use C#. Chances are the thing you are trying to do has already been done in the framework someplace if you can dig out the docs and figure 'em out.  vc++ I do win32 stand-alone .exe.  Just for grings I did a one button Forms app. What a mess!! Only a machine would write code like that!!  Ewwww!! :(

« Last Edit: October 26, 2010, 01:08 PM by MilesAhead »

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #7 on: October 26, 2010, 03:20 PM »
I've learned to take mouser's advice pretty seriously over the years because it's not often that he just comes out and offers it.  So I'll have to take a look at python.  I remember when I was trying to figure out how to make my website, I was about to go with Drupal and mouser said a little something about it that really set me straight.

But, the reason why I want to do .net and c# is because my buddy here at work uses it and he's a great programmer.  So I can always harass him with questions and it's very convenient.  Also, I have programmed before so I'm comfortable with the idea of it.  But I've never done real programming before.  I'm only doing this to see if maybe it's something I can pick up and put to good use with all my ideas.  Then maybe I won't have to be so critical of all the software out there that I'm always complaining about.  Maybe it will make me a more positive person!   ;D Seriously, though, I've always been a closet programmer.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #8 on: October 26, 2010, 03:34 PM »
There are long threads on the forum about how to get started programming, and what the best language to code in is.

The point I always try to make is that the hardest thing about learning how to program is staying motivated and sticking to it.  The particular language you choose is not that important, so if there is something about a particular language that motivates you or grabs your interest (a book, a friend, that cute girl in class who thinks programmer's are hot, whatever), then go with that.  And if you hit a road block with one language, try another till you find one that speaks to you.  Personally i've always found that stumbling across the right book is the most important thing in terms of motivating me.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #9 on: October 26, 2010, 03:46 PM »
I've learned to take mouser's advice pretty seriously over the years because it's not often that he just comes out and offers it.  So I'll have to take a look at python.  I remember when I was trying to figure out how to make my website, I was about to go with Drupal and mouser said a little something about it that really set me straight.

But, the reason why I want to do .net and c# is because my buddy here at work uses it and he's a great programmer.  So I can always harass him with questions and it's very convenient.  Also, I have programmed before so I'm comfortable with the idea of it.  But I've never done real programming before.  I'm only doing this to see if maybe it's something I can pick up and put to good use with all my ideas.  Then maybe I won't have to be so critical of all the software out there that I'm always complaining about.  Maybe it will make me a more positive person!   ;D Seriously, though, I've always been a closet programmer.

Having someone's brain to pick is a big plus. I started out with gwBasic but I knew someone into Turbo Pascal so I got that compiler next. Different people react differently to different syntax so one person's experience is not directly transferable. I liked the concepts in SmallTalk but I had a hard time wrapping my head around the syntax. Often when I do other OOP languages though, I recognize where they got the concept. It's just easier to use a different syntax sometimes.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #10 on: October 26, 2010, 03:51 PM »
And don't forget to check out the self-teaching programming school on the DonationCoder forum -- it was designed with one purpose in mind, to help motivate people to teach themselves how to program.  Some people find it quite fun!

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #11 on: October 26, 2010, 03:56 PM »
Turbo Pascal!
Story:
When I was in 11th grade, my Calculus teacher was also the computer science teacher.  He wanted me to take his programming class, but I didn't because it was very early in the morning and interfered with my swim team practice.  I've always kind of regretted that.  I did become pretty good at programming the TI-85 calculator in that class, though.  But everyone had the TI-82 at the time (1995).  He would call me at home once in a while to ask me to program something in the TI-85 to share with the few classmates who also had the TI-85.  What's funny about this story is that the only other time he called home was to tell my mom that I talk too much in class and my ass wasn't in the seat when the bell rang.  So when the phone rang, I was either getting in trouble or being asked to help the teacher.  Teachers often had a love/hate relationship with me.

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #12 on: October 26, 2010, 03:59 PM »
And don't forget to check out the self-teaching programming school on the DonationCoder forum -- it was designed with one purpose in mind, to help motivate people to teach themselves how to program.  Some people find it quite fun!
Oh yeah!  i totally forgot about that, thanks.  I'll definitely start there.  The first thing I need to learn is the vocabulary.  Everyone is talking about frameworks, languages, libraries, etc. like I know what they are.  I have no idea.  I call all of that stuff "programming".  As of now, .net, java, C# mean the same thing to me.  I have no clue what the different levels of abstraction mean, so I need to learn that quickly.

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #13 on: October 26, 2010, 04:29 PM »
My buddy from college also just recommend Python to me to start out with.  I'm definitely going to start with that and see how it goes.  We used to program a bunch of stuff in Matlab together, and he said I'd pick it up fairly easily.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #14 on: October 26, 2010, 04:29 PM »
The neat thing about Pascal is it was designed as a teaching language. Even if it's not your main choice to program it's very easy to read algorithms written in it.  The first release of the Algorithms book by Robert Sedgewick was written in Pascal. I found it easy to follow.  Kind of fun to code your own sort algorithms and some of those things so you have an idea what's going on when you use the standard "store bought" ones that come with the compiler/framework.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #15 on: October 26, 2010, 04:34 PM »
My buddy from college also just recommend Python to me to start out with.  I'm definitely going to start with that and see how it goes.  We used to program a bunch of stuff in Matlab together, and he said I'd pick it up fairly easily.

I've played around a bit with it.  My only suggestion is make sure the programming environment has an option to remove all tabs from the input and indent with spaces. For Windows I found the ActivePython download very nice. I used a few versions of it and it's always installed pretty much ready to use.  The built in editors have those settings.  Python uses all indentation rather than brackets like { } or keywords Begin and End to signify the beginning and end of a block of code.  It sure cuts down on having to hit the Shift Key when coding though.  One thing nice about it is you can do object oriented stuff in a program that's only a few lines.  You don't have to declare a bunch of classes to get something to happen.  Also there's a large community out there on forums.


Renegade

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 13,288
  • Tell me something you don't know...
    • View Profile
    • Renegade Minds
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #16 on: October 26, 2010, 04:35 PM »
Hmmm... You might want to look at Iron Python. You then have VS, .NET, and Python all in one.
Slow Down Music - Where I commit thought crimes...

Freedom is the right to be wrong, not the right to do wrong. - John Diefenbaker

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #17 on: October 26, 2010, 06:52 PM »
+1 for Iron Python.

Speaking of Python, you may enjoy/benefit from this article about that language, and its evolution, Superboyac.

app103

  • That scary taskbar girl
  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 5,884
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #18 on: October 26, 2010, 07:21 PM »
If you decide to go C#:


Dive right in!

If you decide to go Python:


Dive right in!

If you decide to brush the dust off old Turbo Pascal skills, it has grown up a whole lot and is now knows as Object Pascal or Delphi:

  • Free cross-platform IDE (I can't recommend a Borland IDE since Borland doesn't have anything to do with Delphi any more and Embarcadero doesn't offer a free or low cost IDE suitable for beginners)
  • Free books here and here
  • Free assignments

Dive right in!

With any luck we will be seeing a NANY project from you next year.  :)

phitsc

  • Honorary Member
  • Joined in 2008
  • **
  • Posts: 1,198
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #19 on: October 27, 2010, 05:21 AM »
... but I didn't because it was very early in the morning and interfered with my swim team practice....

Who knows, one day your ability to swim might proof more useful than your (now non)ability to program Turbo Pascal! ;)

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #20 on: October 27, 2010, 11:58 AM »
... but I didn't because it was very early in the morning and interfered with my swim team practice....

Who knows, one day your ability to swim might proof more useful than your (now non)ability to program Turbo Pascal! ;)

Pascal has no float data type. No help there! :)


wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #21 on: October 27, 2010, 12:03 PM »
... but I didn't because it was very early in the morning and interfered with my swim team practice....

Who knows, one day your ability to swim might proof more useful than your (now non)ability to program Turbo Pascal! ;)

Pascal has no float data type. No help there! :)



Any Pascal that you're using today will :P

mahesh2k

  • Supporting Member
  • Joined in 2007
  • **
  • Posts: 1,426
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #22 on: October 27, 2010, 12:33 PM »
Python is good for starters. If you want to get into web development then i suggest jumping to PHP instead of ASP or JSP. Have fun.  :up:

superboyac

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 6,347
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #23 on: October 27, 2010, 12:57 PM »
App!  Thanks for the links, they are good.

MilesAhead

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 7,736
    • View Profile
    • Donate to Member
Re: I'm thinking about learning how to program.
« Reply #24 on: October 27, 2010, 05:11 PM »
... but I didn't because it was very early in the morning and interfered with my swim team practice....

Who knows, one day your ability to swim might proof more useful than your (now non)ability to program Turbo Pascal! ;)

Pascal has no float data type. No help there! :)



Any Pascal that you're using today will :P

C'mon man!  Get real. ;)