Learn to program?

  • (2 Pages)
  • +
  • 1
  • 2

16 Replies - 1841 Views - Last Post: 17 August 2012 - 10:18 AM

#1 ekenn123  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 19-January 12

Learn to program?

Posted 11 July 2012 - 10:41 AM

Hello, I'm from Sweden and I just finished high-school(?). I love programming, though I don't have that much knowledge since my course was very short. Right now I'm looking for a job, then next year I'm going to try get further studies within programming at college(?). But I want to "continue" to learn to program during this time since I'd love to work as a programmer in the future.

But there is a few problems I've encountered at home.

I'm not sure what language is considered "best" to learn, I'm leaning against C++ since it seems good. In my course we used Java in Linux. I downloaded Dev-CPP because I read that VB is just confusing and not useful to beginners. But yea, I have "basic" knowledge of Java and very little of C++. I also read that when you learn one language the others are easier to manage since you know the principle.

My other problem is that I have no idea where to begin. And what I should write? I know there are thousands of thousands tutorials on the Internet. But where do I begin?

I'm very grateful for all answers I get!

/ ekenn123

EDIT: Oh, the topic was really horrible T_T

This post has been edited by ekenn123: 11 July 2012 - 10:42 AM


Is This A Good Question/Topic? 0
  • +

Replies To: Learn to program?

#2 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9208
  • View blog
  • Posts: 34,589
  • Joined: 12-June 08

Re: Learn to program?

Posted 11 July 2012 - 10:50 AM

Quote

I'm not sure what language is considered "best" to learn,

There is no *best* language to learn. If you peruse the forum you'll see this question asked over and over and over again. Programming languages are tools to make your project a reality. So define what projects you want to do and then narrow your set of tools (aka languages) down from there.


Quote

My other problem is that I have no idea where to begin.

Another frequent question with an easy solution - pick one of the languages you were getting and introduction to and buy a book to fill in the rest. Directed learning with a book will make things more clear than flailing around with disconnected tutorials.

To preempt your next question on "what book is best?" - again first figure out what projects you want to do, pick a language based on that project, and then do a quick search for 'book' in that sub forum. You'll be greeted with plethora of book options.


Quote

Oh, the topic was really horrible T_T
Agreed since it is answered frequently.
Was This Post Helpful? 3
  • +
  • -

#3 ThrowsException  Icon User is offline

  • D.I.C Head

Reputation: 33
  • View blog
  • Posts: 83
  • Joined: 21-February 12

Re: Learn to program?

Posted 11 July 2012 - 11:02 AM

If you are comfortable with Java right now, and only consider yourself to have a basic understanding of the language I'd say stick with Java tutorials for now. Find a website that maybe has some cool example projects to learn some new features of the language and build up from there. Programming will come with practice and eventually you'll get an idea and feel comfortable enough to start your own project to put what you've learned to use. I found it just kinda came over time while I was in college. I had no exposure to programming prior to college and fell in love with it there starting with C++, but quickly transitioning the Java. It is true that knowing one language will usually help you transition to other languages that share the same syntax fairly easily. We used mainly Java in class to teach techniques, but I now work as a C#/Silverlight developer and the transition and time to get comfortable with it was pretty easy by seeing some examples, working through a few tutorials and reading lots of the MSDN library when I wanted to get something done and understand what I was writing. In college you'll get into more than just programming and you'll quickly find being a developer doesn't always entail just firing up your IDE and breaking your knuckles on your keyboard writing new code. You'll learn algorithms, design patterns, best practices, software processes, and data structures. You'll learn to solve problems and propose solutions without ever really writing a single line of code. You'll learn to think in the abstract and I like that feeling. That's not to say that I don't enjoy writing some code and watching a project come to life. I'm glad I picked the career I did and if you think you have a love of software, problem solving, and coding I think you'll enjoy it as well. There really is no "best language" to learn. In my short time working as a developer I've already worked extensively in three different programming languages, one of which I had to learn on the fly for an iOS project just because that's what the place I worked for wanted. So the "best language" is the one your place of business needs for a project right now.
Was This Post Helpful? 3
  • +
  • -

#4 DarenR  Icon User is offline

  • D.I.C Lover

Reputation: 463
  • View blog
  • Posts: 3,166
  • Joined: 12-January 10

Re: Learn to program?

Posted 11 July 2012 - 11:08 AM

well 1st youhave to decide what you want to do? webistes, windows applications, mobile apps, or other


then from there the languages get narrowed down.


websites
(html, javascript, php, sql, asp.net)

applications
(.net languages, java, c++, others)

mobile apps
(generally java)

other
(xna, other languages)


and so on
Was This Post Helpful? 0
  • +
  • -

#5 ekenn123  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 27
  • Joined: 19-January 12

Re: Learn to program?

Posted 11 July 2012 - 11:46 AM

View Postmodi123_1, on 11 July 2012 - 10:50 AM, said:

Quote

I'm not sure what language is considered "best" to learn,

There is no *best* language to learn. If you peruse the forum you'll see this question asked over and over and over again. Programming languages are tools to make your project a reality. So define what projects you want to do and then narrow your set of tools (aka languages) down from there.


Quote

My other problem is that I have no idea where to begin.

Another frequent question with an easy solution - pick one of the languages you were getting and introduction to and buy a book to fill in the rest. Directed learning with a book will make things more clear than flailing around with disconnected tutorials.

To preempt your next question on "what book is best?" - again first figure out what projects you want to do, pick a language based on that project, and then do a quick search for 'book' in that sub forum. You'll be greeted with plethora of book options.


I mentioned that "after learning a language changing to another language is easier since you know the principle". I know there is no best that's the reason I put "" between it. I know this is a standard question, but it is more like "what language did you start with and why?".

Books are cool, the problem is that when you ask for a book there is 5000 people that disagree with each other and says "that book is better" therefore I find it really hard to find a book which fits me. But yea for sure, I think books are more relyable than internet tutorials which aren't that well explained.

View PostThrowsException, on 11 July 2012 - 11:02 AM, said:

If you are comfortable with Java right now, and only consider yourself to have a basic understanding of the language I'd say stick with Java tutorials for now. Find a website that maybe has some cool example projects to learn some new features of the language and build up from there. Programming will come with practice and eventually you'll get an idea and feel comfortable enough to start your own project to put what you've learned to use. I found it just kinda came over time while I was in college. I had no exposure to programming prior to college and fell in love with it there starting with C++, but quickly transitioning the Java. It is true that knowing one language will usually help you transition to other languages that share the same syntax fairly easily. We used mainly Java in class to teach techniques, but I now work as a C#/Silverlight developer and the transition and time to get comfortable with it was pretty easy by seeing some examples, working through a few tutorials and reading lots of the MSDN library when I wanted to get something done and understand what I was writing. In college you'll get into more than just programming and you'll quickly find being a developer doesn't always entail just firing up your IDE and breaking your knuckles on your keyboard writing new code. You'll learn algorithms, design patterns, best practices, software processes, and data structures. You'll learn to solve problems and propose solutions without ever really writing a single line of code. You'll learn to think in the abstract and I like that feeling. That's not to say that I don't enjoy writing some code and watching a project come to life. I'm glad I picked the career I did and if you think you have a love of software, problem solving, and coding I think you'll enjoy it as well. There really is no "best language" to learn. In my short time working as a developer I've already worked extensively in three different programming languages, one of which I had to learn on the fly for an iOS project just because that's what the place I worked for wanted. So the "best language" is the one your place of business needs for a project right now.


I find Java easier to understand compairing to C++. I might aswell go with Java then, also since I have the "basics". Didn't quite follow you on algorithms to data structures. But yea, it is kind of obvious that you don't hammer code continously. Uhm, in my opinon coding is the only subject in school that I really really enjoyed. Would sit after class trying to get it to work. And yea, I like to solve problems.


View PostDarenR, on 11 July 2012 - 11:08 AM, said:

well 1st youhave to decide what you want to do? webistes, windows applications, mobile apps, or other


I don't understand what you mean by what do you want to do? I wanna become an overall better programmer. I'd love to program games(in the future). But really, anything computer wise(a windows application perhaps? idk). I don't have any goal, and I still don't know where I should start.
Was This Post Helpful? 0
  • +
  • -

#6 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10567
  • View blog
  • Posts: 39,121
  • Joined: 27-December 08

Re: Learn to program?

Posted 11 July 2012 - 11:53 AM

Quote

Books are cool, the problem is that when you ask for a book there is 5000 people that disagree with each other and says "that book is better" therefore I find it really hard to find a book which fits me. But yea for sure, I think books are more relyable than internet tutorials which aren't that well explained.

That's when you have to get smart and look a little more closely. The law of large numbers applies in most consumer situations. If a lot of people are saying the same thing, there is probably something to it. I have a blog entry on searching for books. Please don't make the argument "I don't know anything about Java, so I can't figure out which book." That's the whole point about being a smart consumer. You may not hit it perfect, but you'll hit it better than shooting blindly.

We also have a Best Beginner's Book thread and a tutorial curriculum thread on Getting Better at Programming Java on DIC.
Was This Post Helpful? 1
  • +
  • -

#7 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9208
  • View blog
  • Posts: 34,589
  • Joined: 12-June 08

Re: Learn to program?

Posted 11 July 2012 - 11:54 AM

Quote

I know this is a standard question, but it is more like "what language did you start with and why?".


Certainly- here's just a few that answer this question. ;)

http://www.dreaminco...u-start-coding/
http://www.dreaminco...elopment-tools/
http://www.dreaminco...es-do-you-like/
http://www.dreaminco...re-development/
http://www.dreaminco...ge-best-for-pc/
http://www.dreaminco...rt-programming/
http://www.dreaminco...th-the-experts/
http://www.dreaminco...826-qa-answers/


Quote

Books are cool, the problem is that when you ask for a book there is 5000 people that disagree with each other and says "that book is better" therefore I find it really hard to find a book which fits me.

It's pretty simple. Hit up amazon... find a book with fairly high reviews... of the most recent iteration of your language of choice... look at the table of contents and make sure you think it looks complete.. read a few of the reviews and as make sure they work for you.. read a few bad reviews and see if it's just people over reacting. Take both with a few grains of salt.. find book for cheap on their used section.. purchase book.
Was This Post Helpful? 1
  • +
  • -

#8 DarenR  Icon User is offline

  • D.I.C Lover

Reputation: 463
  • View blog
  • Posts: 3,166
  • Joined: 12-January 10

Re: Learn to program?

Posted 11 July 2012 - 11:54 AM

Well you cant just magically one day say I am gonna be a programmer and just start programming. Youo have to have a goal as to what you want to accomplish. You said you want to program games-- well I think c++ and xna are good starts.

Just remember to make a goal even little goals and get to that goal then start another goal. small steps are the way to go.


There is no right or wrong as to how you start to program but you must have a goal in doing so.
Was This Post Helpful? 0
  • +
  • -

#9 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10567
  • View blog
  • Posts: 39,121
  • Joined: 27-December 08

Re: Learn to program?

Posted 11 July 2012 - 12:03 PM

Quote

Youo have to have a goal as to what you want to accomplish.

In a workplace, I agree. For students, I don't. People take paths to learn for certain platforms. Some people just enjoy coding, regardless of platform. I think at a non-professional stage, learning to program in and of itself is a goal. It takes a certain amount of appreciation and experience to figure out which platforms one likes, and why. For example, I'm a graph theorist. When I began learning programming, it wouldn't have been fair for me to say that I want to work with graph theory at that level, because I didn't have enough experience in either. Same thing with game development. If one isn't involved in making games (maybe on an art, music, storyline, etc., level), then one can't safely say that game programming is the ideal career, and have it mean anything more than a whimsical dream from someone who enjoys gaming.
Was This Post Helpful? 1
  • +
  • -

#10 ThrowsException  Icon User is offline

  • D.I.C Head

Reputation: 33
  • View blog
  • Posts: 83
  • Joined: 21-February 12

Re: Learn to program?

Posted 11 July 2012 - 12:09 PM

Quote

Didn't quite follow you on algorithms to data structures


Algorithms are how something gets done such as what's the fastest way to search for something or the quickest way to sort a list. Google searching or sorting algorithms you'll get no shortage of stuff to read. I'm assuming you've worked with an array in Java at some point. That is what's known as a Data Structure and its a way to store and organize data. AS you get into Computer Science and Programming you'll find all sorts of different data structures like trees and stacks and you'll learn what the disadvantages and advantages are for using them in certain situations.

As far as starting, congrats you're already starting. You're learning the basics of programming. As you start to find new and interesting things you'll start to pick up new languages and new toolsets. Maybe you like Java right now because it's easier to learn now and you get the hang of it. Maybe next week one of your friends will ask you to help him write a web application and you'll find yourself diving into PHP and Javascript or maybe a Ruby on Rails app. Keep yourself open and try not to pigeon hole yourself to be a "C++" developer or a ".NET guy". You'll always have a favorite language or something that you can get going quickly but I think the key thing is being able to immerse yourself in a brand new language and be able to pick it up quickly to start working.
Was This Post Helpful? 0
  • +
  • -

#11 DarenR  Icon User is offline

  • D.I.C Lover

Reputation: 463
  • View blog
  • Posts: 3,166
  • Joined: 12-January 10

Re: Learn to program?

Posted 11 July 2012 - 12:25 PM

View Postmacosxnerd101, on 11 July 2012 - 03:03 PM, said:

In a workplace, I agree. For students, I don't. People take paths to learn for certain platforms. Some people just enjoy coding, regardless of platform. I think at a non-professional stage, learning to program in and of itself is a goal. It takes a certain amount of appreciation and experience to figure out which platforms one likes, and why. For example, I'm a graph theorist. When I began learning programming, it wouldn't have been fair for me to say that I want to work with graph theory at that level, because I didn't have enough experience in either. Same thing with game development. If one isn't involved in making games (maybe on an art, music, storyline, etc., level), then one can't safely say that game programming is the ideal career, and have it mean anything more than a whimsical dream from someone who enjoys gaming.



I have to disagree--- when you enter college you have to have a goal in what you want to do or you would never graduate even if it is getting a degree in philosophy you have to have a goal. When you decide to program youi already made a goal saying you want to learn to program. Next you want to pick a language (goal) then learn it(goal) then apply it(goal). So even if you don't know what direction you want to take your career, simply saying hey I want to program will do you no good. What if you spend a year learning java and you find you that the field you want to go in doesnt even use java (well you might now know java but so what what good will it do you if you will never use it again).
Appreciating a plateform has nothing to do with learning by setting goals----I appreciate a a fast car but it is not my goal to own one.


You also dont need to be involved in a career to know you will enjoy it. Most businesses are started by people who want and enjoy something and then turn it into a business without any business background aka not knowing you like the business and doing it anyway.
Was This Post Helpful? 0
  • +
  • -

#12 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10567
  • View blog
  • Posts: 39,121
  • Joined: 27-December 08

Re: Learn to program?

Posted 11 July 2012 - 12:33 PM

Quote

when you enter college you have to have a goal in what you want to do or you would never graduate even if it is getting a degree in philosophy you have to have a goal.

For most people, it's getting a degree. Most people in college change degrees, add secondary majors, minor in stuff, etc. People in college aren't always that decisive. I agree about the application of programming. However, it's not always so long-term in thought. Mini-projects are good ways to apply and learn. I may write a basic inventory system for a class. That's a short term goal. That doesn't mean I want to go into writing financial or inventory programs as my career.

Quote

What if you spend a year learning java and you find you that the field you want to go in doesnt even use java (well you might now know java but so what what good will it do you if you will never use it again).

Most people who know nothing about programming and learn it for fun don't know what field they want to go into. I'm in college. Most of my friends are very indecisive on what they actually want to do. Most people in 1-2k level programming/CS classes (ie., intro classes) don't know what they want to do with the language taught beyond learning it and passing the class.

Don't get me wrong, I'm all for goal-oriented learning. I think you're overestimating how far in advance or specific people are willing to plan. It's the same thing as enjoying math and science, and wanting to be an engineer. Okay, what type of engineer? Mechanical, civil, electrical, chemical, etc.? If you don't know anything about those fields, it's not realistic to pick an arbitrary one. It's about getting some experience, then redirecting oneself.
Was This Post Helpful? 1
  • +
  • -

#13 ThrowsException  Icon User is offline

  • D.I.C Head

Reputation: 33
  • View blog
  • Posts: 83
  • Joined: 21-February 12

Re: Learn to program?

Posted 11 July 2012 - 01:02 PM

Quote

Most people who know nothing about programming and learn it for fun don't know what field they want to go into


I totally agree with Mac, I recently graduated last year with a BS in Computer Science. I started out as a Mech Eng but after having a intro class in C++ and not really liking engineering I made the switch to CS without any idea of what I could come out doing or where I wanted to work or specialize in. It wasn't until I started looking for jobs that I saw things that looked cool or where I might want to work and then I started learning and reading on some of the skills that the jobs I like wanted and it worked out; Not because I had spent 8 semesters pounding away at .NET because I wanted to code .NET for the rest of my life. I was just able to use all the skills and theory and general knowledge that I had gained to start weaving a career path.
Was This Post Helpful? 1
  • +
  • -

#14 Dvastyn  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 25
  • Joined: 25-July 12

Re: Learn to program?

Posted 25 July 2012 - 08:04 PM

I'm somewhat in the same boat you are in, I chose to stick with Java because it is just a language that I have picked up on very well, someone may have addressed this in a previous post but it all depends on what you personally feel comfortable with. This website is great for teaching people all kinds of languages, you should poke around and see what you like.
Was This Post Helpful? 0
  • +
  • -

#15 AdamJohnA  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 12
  • Joined: 15-August 12

Re: Learn to program?

Posted 16 August 2012 - 05:27 AM

When you decide that what you would like to do? Programming, Websites windows applications, mobile apps, Java, .Net, or other’ then you can get lessened from w3schools.com.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2