Jump to content



Photo

I'm really getting frustrated.

Answered Go to the full post

  • Please log in to reply
205 replies to this topic

#1 ShellBox

ShellBox

    Neowinian

  • Joined: 15-January 14
  • Location: Northamptonshire
  • OS: Windows 7 Ultimate 64 bit
  • Phone: HTC Wildfire

Posted 15 January 2014 - 12:23

Hello everyone.

 

I have been trying to learn how to program in multiple programming languages (Python, Ruby, PHP, Visual Basic, C++, JAVA, C#, C.) but I have picked up none of these languages. I have been looking for books for quite a long time, I've been trying hands-on books, I've been trying For Dummies books, Heads First, etc, but I haven't gotten further than writing Hello World.

 

What my major issue is that I do not understand any of the technical terms, even after Googling them. What happens is that I get a book on C# for example and I pick it up for a little bit, then something that I don't understand comes up and I'm practically forced to give up.

I'm an IT student and I would like to have some programming experience before next year. I am really interested in C#, C++, C and JAVA but I have not found anyone or anything that can help me, even after taking a course in Visual Basic (Which I miserably failed).

 

Could anybody show the ropes to an absolute idiot? I'm just looking for definitions on all the technical stuff which is in English, not in technical terms.

 

Thank you so much.

 

ShellBox.



Best Answer vhane , 19 January 2014 - 14:56

To be honest there's no way you'll be able to learn programming from a forum. There's certainly no point in going into the nitty gritty. That's what a structured learning resource is for. So, as a general set of tips, here's what worked for me:
 
Pick a language, or have one picked for you. Maybe start with the one that your school will be using. Mine came with the computer I had as a kid: BASIC. It's a language that no one uses anymore. It's certainly a language that I can't use professionally, or even productively for my own projects. However, it doesn't matter much which language you start with. You will learn many more later on, and it gets easier to pick up new languages after the first.
 
Get some learning resources. Books. Lecture videos from online courses. There are plenty of free ones too.
 
Practise by writing code. Code examples in the book? Type it in. Code exercise at the end of a chapter? Do it.
 
Practise by writing code. Pick a small project and have at it. You will be more motivated to keep at it if you're working on something that has an end goal other than simply "learn programming".
 
I repeat: write code! You can't learn programming by reading 10 books from cover to cover. I once tried to learn data structures by sitting in a university library, reading my textbook, and writing out pseudocode using a pencil. What a total waste of time that was. I almost failed that class. No one told me that you can't learn programming that way. To learn programming you need to be sitting in front of your keyboard, typing in code, and running it to see what happens. You cannot learn programming in a non-interactive environment. Programming is all about iteration. You bash code in, no matter how crude, you run it to see what happens, and change your code. You mold the program like you mold clay to make a vase. Pseudocode can help to *plan* a program, but you do not use it to help you derive the logic for the program. Because it's way faster to work in an environment where you can see the results of your commands. That means writing out code and running it.
 
Keep at it. Spent the last hour trying to figure out a concept? I've spent days struggling with new concepts. The eureka moment will eventually happen. It comes faster if you play with the concepts by... writing code. Test things out. Break things, put them back together.
 
Keep at it. Spent the last hour trying to fix a bug in your code? I've spent days trying to fix a bug. Eventually you'll figure it out. You will. There's nothing that you can't solve if you apply yourself. And once you've figured how to fix something, you'll never be bogged down by the same issue again. Because you would have been so scarred by the previous encounter that it'll have been burned into your brain. This is what we call experience. Experienced programmers aren't better than novice ones because they are smarter. It's because they have made, and fixed more errors than the novice programmer.
 
I believe that it's not being better at logical thinking that allows some people to learn programming while others fail. It's perseverance. It takes a certain type of person to persevere for days on the same problem, and to see it through. This is what it takes to become a programmer. Sheer doggedness.
Go to the full post



#2 Nick H.

Nick H.

    Neowinian Senior

  • Tech Issues Solved: 10
  • Joined: 28-June 04
  • Location: Switzerland

Posted 15 January 2014 - 12:28

I'm sure many of us would be more than happy to help where possible, but I think we're going to need a bit more information; namely the specific technical terms that you would like us to explain. Otherwise we may as well just point you towards a book, which isn't very helpful. ;)

For example, do you know what a variable is? What about a string, or conncatonation? We need to get an idea of what level of advice/help you need. :)

#3 ka-la

ka-la

    Neowinian

  • Joined: 24-October 12

Posted 15 January 2014 - 12:32

Well the easy way would be to find an book in language you speak (if its not English).

 

I sort of know what you feel from my own experience and I can truly say that the breaking moment for me was finding the goal - find an idea that you want to create (which would not be too complicated) and learn towards it. Start with simple things/hacks, copy code from web, mix them together, see what happens... its the best practice.

 

By the way I think Python is quite good for beginners since it allows some things ohter programming langauges doesnt. The syntax is simple enough to understand and so on



#4 ashpowell

ashpowell

    Neowinian

  • Joined: 13-November 06
  • Location: UK
  • OS: Windows 8
  • Phone: Nexus 5

Posted 15 January 2014 - 12:33

Have you tried Codeacademy? It goes through everything step by step describing each thing.. I've learnt really quickly using it. And it's free!



#5 Praetor

Praetor

    ASCii / ANSi Designer

  • Tech Issues Solved: 3
  • Joined: 05-June 02
  • Location: Lisbon
  • OS: Windows Eight dot One dot One 1!one

Posted 15 January 2014 - 12:40

Hello,

if i were you i would start reading a few sites for very basic, pseudo code, logical programs. Forget the language: you need to start thinking in a very logical way to start develop the very basic code and pseudo language is the ideal way so you can understand what are the requirements and the logical paths you must develop to reach for a solution for a given problem.

After those steps then get your hands dirt by using a simple language to start programming, i think java can be a good one to start (java and eclipse but there are much simpler ones out there, is just java has a lot of documents and info on the web).

 

See a problem, question what is required and start writing (not coding!) your way to reach for a solution. think of all the possibilities and scenarios you can get and when you are happy with the outcome, start coding. you are going to fail alot, that's expected; the dificult part in here is to develop the logical set of mind and that takes time.



#6 Praetor

Praetor

    ASCii / ANSi Designer

  • Tech Issues Solved: 3
  • Joined: 05-June 02
  • Location: Lisbon
  • OS: Windows Eight dot One dot One 1!one

Posted 15 January 2014 - 12:44

I'm an IT student and I would like to have some programming experience before next year. I am really interested in C#, C++, C and JAVA but I have not found anyone or anything that can help me, even after taking a course in Visual Basic (Which I miserably failed).

 

that's one of the most important things: if you have the possibilities go for a course of basic programming: it's worth if the tutor is good enough for explaining the very basics of it and you get to have your most important questions answered quickly.



#7 +riahc3

riahc3

    Neowin's most indecisive member

  • Tech Issues Solved: 11
  • Joined: 09-April 03
  • Location: Spain
  • OS: Windows 7
  • Phone: HTC Desire Z

Posted 15 January 2014 - 12:52

Hello,

First off, why do you want to learn to program if next year you are going to learn? To me its obvious that programming is not a area that calls your attention.

The course you failed: Was it Visual Basic or Visual Basic .NET?

Me for example hated to program. I didnt even look how to program. In my degree (software engineering) we (obviously) had to program. We (I) learned. And guess what? 4-5 years after than and 2+ years as a software programmer (both desktop and web) and I still think its a piece of **** profession which I hate.

Having said all that rant :p

Besides thinking logically with pseudocode (you understand this term?), Id make a choice: Web, desktop or mobile? Easiest of the three is desktop. After that language. In this area there are infinite but several stand out: C, C++, C#, VB .NET, and Java. Those are the main ones. C/C++ is the most powerful but logically the most difficult. The other three are pretty easy with VB .NET being the easiest but the least powerful. Java is crap so go with C#; Generally OK language, easy and pretty powerful once you learn to use it. The problem with C# you really dont learn how to save yourself in real life situations because of Visual Studio.

But I still would ask myself if I was you: Do I like to program?

#8 goodbytes

goodbytes

    Just below average Joe

  • Tech Issues Solved: 1
  • Joined: 07-May 04
  • Location: England

Posted 15 January 2014 - 12:57

https://tutsplus.com

http://teamtreehouse.com



#9 +Majesticmerc

Majesticmerc

    Resident Idealist

  • Tech Issues Solved: 7
  • Joined: 24-August 05
  • Location: United Kingdom
  • OS: Arch Linux / Win 7
  • Phone: HTC One X

Posted 15 January 2014 - 13:13

My primary advice to you would be to only learn one programming language initially.Take something like Python  and run with it. Once you've got one language under your belt, additional languages become exponentially easier to learn because in many cases.

 

If you've got any questions, don't be afraid to ask us here, regardless of how stupid you might think the questions are. We were all there once, and most of us still probably are to an extent. It's typically stated that it takes 20 hours of work to understand the basic concept of something, but 10,000 hours to master it. Just take it at your own pace and I think you'll be surprised how quickly you'll pick it up if you genuinely find it interesting.

 

Also, ask yourself this: truthfully, when was the last time you didn't get frustrated when trying to learn a new skill? I get plenty frustrated programming, even today, but the same was also true for learning to drive, learning to type, learning to click my fingers, learning to tie my shoelaces and learning to ride my bike. Just remember that even if you don't get it now, you probably will later. If you don't understand something entirely, move on, and come back to it later :)



#10 MeowPurr

MeowPurr

    Neowinian

  • Joined: 23-April 13
  • OS: Windows 8 Pro
  • Phone: Nokia Lumia 920

Posted 15 January 2014 - 13:28

Also, ask yourself this: truthfully, when was the last time you didn't get frustrated when trying to learn a new skill? I get plenty frustrated programming, even today, but the same was also true for learning to drive, learning to type, learning to click my fingers, learning to tie my shoelaces and learning to ride my bike. Just remember that even if you don't get it now, you probably will later. If you don't understand something entirely, move on, and come back to it later :)

 

So true!



#11 OP ShellBox

ShellBox

    Neowinian

  • Joined: 15-January 14
  • Location: Northamptonshire
  • OS: Windows 7 Ultimate 64 bit
  • Phone: HTC Wildfire

Posted 15 January 2014 - 13:39

Have you tried Codeacademy? It goes through everything step by step describing each thing.. I've learnt really quickly using it. And it's free!

 

I have used CodeCademy but Python isn't really for me. I want a language which I can code my own programs with and in which I can go much further. Thanks though.



#12 +virtorio

virtorio

    4089 III

  • Tech Issues Solved: 11
  • Joined: 28-April 03
  • Location: New Zealand
  • OS: OSX 10.9, Windows 8.1
  • Phone: Samsung Galaxy SIII

Posted 15 January 2014 - 13:41

Pick one, focus on it, don't assume that you can buy a book and that's all you'll need, you really need to sit and figure out what's going on yourself, otherwise you'll never really understand it. Post questions here.



#13 OP ShellBox

ShellBox

    Neowinian

  • Joined: 15-January 14
  • Location: Northamptonshire
  • OS: Windows 7 Ultimate 64 bit
  • Phone: HTC Wildfire

Posted 15 January 2014 - 13:54

Hello,

First off, why do you want to learn to program if next year you are going to learn? To me its obvious that programming is not a area that calls your attention.

The course you failed: Was it Visual Basic or Visual Basic .NET?

Me for example hated to program. I didnt even look how to program. In my degree (software engineering) we (obviously) had to program. We (I) learned. And guess what? 4-5 years after than and 2+ years as a software programmer (both desktop and web) and I still think its a piece of **** profession which I hate.

Having said all that rant :p

Besides thinking logically with pseudocode (you understand this term?), Id make a choice: Web, desktop or mobile? Easiest of the three is desktop. After that language. In this area there are infinite but several stand out: C, C++, C#, VB .NET, and Java. Those are the main ones. C/C++ is the most powerful but logically the most difficult. The other three are pretty easy with VB .NET being the easiest but the least powerful. Java is crap so go with C#; Generally OK language, easy and pretty powerful once you learn to use it. The problem with C# you really dont learn how to save yourself in real life situations because of Visual Studio.

But I still would ask myself if I was you: Do I like to program?

 

I have always been very interested in programming because it's something that I would have created. I want to become a video game developer or a pentester but I'd still love to do coding on the side as a hobby. Ever since I started learning about programming (I was about 14 when I first heard about it) I was in love. It all seems so fantastic and wonderful to me. Unfortunately because I have autism and a learning disorder things can be extremely difficult for me to learn. 

 

It's always been a very interesting topic to me but I seem to not be able to learn. I know a little bit of Python and JavaScript and a very small amount of Visual Basic (I think it was VB.NET I learned at the time) but they just don't appeal to me. I find VB chaotic and it makes things a lot harder. 

I do know that pseudocode is basically the code written down in a more English way but I still don't really understand anything of it.

 

Do you have anything you can recommend to someone who needs things explained in a very simple way?

 

Thank you so much for this reply.

 

My primary advice to you would be to only learn one programming language initially.Take something like Python  and run with it. Once you've got one language under your belt, additional languages become exponentially easier to learn because in many cases.

 

If you've got any questions, don't be afraid to ask us here, regardless of how stupid you might think the questions are. We were all there once, and most of us still probably are to an extent. It's typically stated that it takes 20 hours of work to understand the basic concept of something, but 10,000 hours to master it. Just take it at your own pace and I think you'll be surprised how quickly you'll pick it up if you genuinely find it interesting.

 

Also, ask yourself this: truthfully, when was the last time you didn't get frustrated when trying to learn a new skill? I get plenty frustrated programming, even today, but the same was also true for learning to drive, learning to type, learning to click my fingers, learning to tie my shoelaces and learning to ride my bike. Just remember that even if you don't get it now, you probably will later. If you don't understand something entirely, move on, and come back to it later :)

 

Thank you for the reply.

 

The problem is that I don't like Python very much even though it is quite easy to pick up. I just don't like it very much so I get bored of it quickly and move onto something else.

It is very true that new things can frustrate someone very much but it just really gets to me when I don't pick something up as quick as other people. I have had a friend who learned C# when he was 16 and now he's writing a full game which he almost completed. I just feel very stupid compared to most programmers because they find it so easy to pick these things up.

 

Thanks a lot for the reply. I'll start working on my Python again and I'll start looking into pseudocode.

 

Thank you everybody for all the replies :)



#14 +Majesticmerc

Majesticmerc

    Resident Idealist

  • Tech Issues Solved: 7
  • Joined: 24-August 05
  • Location: United Kingdom
  • OS: Arch Linux / Win 7
  • Phone: HTC One X

Posted 15 January 2014 - 14:07

Well it doesn't have to by Python. Any language will do (C# if you want to pick up programming without the low level baggage, C or C++ if you want to play at managing your own memory), just try to stick to one language. If you keep to one syntax, picking up the concepts should come quickly. Imagine trying to learn French, German, English, Spanish, Greek, Russian and Arabic all at the same time ;)



#15 soil

soil

    Just Another Case Of Screw The British By The British!

  • Joined: 14-December 04
  • Location: Englandzor

Posted 15 January 2014 - 14:15

I would say just learn the very basics of programming if you can't even get past a hello world app.

 

Even just looking into how to create, set and call variables. Then once you can do all that look at if statements, while loops etc.

This is standard for learning any language.

 

 

Just pick one language and stick to it learn that for a few months then experiment with others. Not setting out to learn every language straight away - takes years to become good at them!

 

I've only modified python scripts never created from scratch but python isn't the easiest to use out of all the languages you've listed!

 

I would recommend a very simple language like PHP to get your teeth into as this doesn't care about variable types etc. Then to get you into variable types look at languages like JAVA. 

 

 

Remember that learning to debug is just as important as learning to code.





Click here to login or here to register to remove this ad, it's free!