• 0

I'm really getting frustrated.


Question

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.

Link to comment
Share on other sites

203 answers to this question

Recommended Posts

  • 0

Hello,

Why are you learning all these languages if you can't even program in C? It is critical you learn C first.

 

Read this first: http://www.cplusplus.com/files/tutorial.pdf You won't be creating anything fancy, but it'll give you a good overview of structure. I personally read all of it over a few days. Don't worry about doing any of the examples on a computer - just understand the code on the page (which is well documented).

 

If you want to learn Python, I would highly recomend this: "Hello World!: Computer Programming for Kids and Other Beginners" http://www.amazon.com/Hello-World-Computer-Programming-Beginners/dp/1617290920/ Yes, it's a book for kids - but that's a good thing. Learning Python can't be simpler.

 

Dev-C++ is an excellent program to write basic C programs in: http://www.bloodshed.net/devcpp.html

 

Don't move onto anything graphical/object-oriented unless you understand C well. Once the latter is the case, you can move on to explore other languages. I would learn in this order C, C++, Python, Java. Visual Basic/C#/C++ is the last thing you should consider. PHP is only useful if you want to get into web page design, and easiest to learn by example (once again, knowledge of C would really help).

 

Hint: google "<programming language> pdf" - for example, "java pdf" for some great (free) resources from various unis, etc.

 

All the best!

Did you read the entire thread? A easier language (although less useful) is what he needs...
Link to comment
Share on other sites

  • 0

Hey guys, this is a little update.

 

I have decided to go for C# because it seems like an ideal language for me, it's quite a high-level language from what I can gather and it just seems like a nice language.

 

Now, on my thread a lot of you guys told me to learn the fundamentals of programming and I was wondering if someone could explain them to me in a nutshell and what exactly I should be looking for?

Also, I'm looking for some easy pseudocode to learn how to read and interpret pseudocode so I can start learning how a program works by looking at its pseudocode and what causes to do what and what commands does what.

 

I really appreciate all the helpful and amazing replies on this thread. It really opened my eyes and I have realized that it's going to be a long and hard journey but I'm completely ready for it.

 

I will upload my VB code later once I've got access to a PC with the NET framework installed.

Link to comment
Share on other sites

  • 0

Hello,

Coding a website != Designing

So painting a canvas is also coding?

HTML/CSS is just telling the computer where to "draw" the brush on the canvas (browser).

Proof is that you can write "Hello how are you" in a text file (no tags or anything), save it with a .html extension, and open it up on your web browser. You cannot do this with a proper programming language.

BTW, IMO, this thread has no best answer and it surely isnt anything I have posted as there have been WAY better answers/explanations here than mine. Thank you anyhow.

Link to comment
Share on other sites

  • 0

Hello,

So painting a canvas is also coding?

HTML/CSS is just telling the computer where to "draw" the brush on the canvas (browser).

Proof is that you can write "Hello how are you" in a text file (no tags or anything), save it with a .html extension, and open it up on your web browser. You cannot do this with a proper programming language.

BTW, IMO, this thread has no best answer and it surely isnt anything I have posted as there have been WAY better answers/explanations here than mine. Thank you anyhow.

 

You are basing that on a technicality. What the browser does is completely irrelevant.

Link to comment
Share on other sites

  • 0

If you are really struggling to grasp the concept of programming then learn PASCAL.. it's a very good beginner language and prepares you for learning other languages.

 

I completely agree, Pascal really is one of the best beginner languages to understand programming syntax and the like.

I'm professionaly employed as a software developer and I don't give a crap about pseudo code. I hated it from the start.

Link to comment
Share on other sites

  • 0

Hello,

You are basing that on a technicality.

Yeah because its the technical difference between HTML and PHP. Once runs code, the other just displays elements.

What the browser does is completely irrelevant.

:laugh:

Im not saying desktop programmers are worst than web designers/developers. The world needs both.

Link to comment
Share on other sites

  • 0

Hello,

Did you read the entire thread? A easier language (although less useful) is what he needs...

Yes, but I felt many posts weren't actually on topic and too technical (in relation to the original post).

 

I would say the easier language would be Python out of the lot. I have a copy of the Hello World! book linked to in my post - I'm confident the majority of eight year old students would pick it up.

 

It is important to get a good foundation about the basics and build from the ground up, instead of just jumping into a 600 page book on Java/Visual Studio C# written for people who've already had quite a bit of programming experience. It takes time to become a proficient programmer - it won't just happen overnight (or a week) with one book.

 

If the OP wants to get into making games quickly, they should also check out GameMaker Studio: https://www.yoyogames.com/studio

 

I too have been amazed at the amount of support from all members on this forum. Thanks all! (Y)

Link to comment
Share on other sites

  • 0

Hello,

I'm professionaly employed as a software developer and I don't give a crap about pseudo code. I hated it from the start.

I hate it too, dont get me wrong. But for every (decent) project, you have to start with some pseudocode.
Link to comment
Share on other sites

  • 0

Hello,

I hate it too, dont get me wrong. But for every (decent) project, you have to start with some pseudocode.

 

 

Never, ever, in my life have I written pseudo code for a project (outside of school, of course). But I can understand that for people who are having troubles understanding the flow/syntax of programming, it's a good way to start. I guess I just skipped that part as everything already felt natural and obvious to me.

I do, however, made tons of sketches laying out the different layers of the project (from the GUI all the way to the communication with the DB), also sketching the DB model.

But once you start on projects like the one I'm working on with my client (+millions line of code, 1200 database tables, 9000 code files etc) pseudo code is not really productive. I just go ahead and do stuff.

 

Link to comment
Share on other sites

  • 0

Hello,

Yes, but I felt many posts weren't actually on topic and too technical (in relation to the original post).

Fair enough.

 

I would say the easier language would be Python out of the lot. I have a copy of the Hello World! book linked to in my post - it's written so simply I'm confident the majority of eight year old students would pick it up.

The problem with Python that its oriented towards being a scripting language. Can you make C run on a web server? Yes. But it aint pretty or easy because it isnt designed for that.

It is important to get a good foundation about the basics and build from the ground up, instead of just jumping into a 600 page book on Java/Visual Studio C# written for people who've already had quite a bit of programming experience. It takes time to become a proficient programmer - it won't just happen overnight (or a week) with one book.

I agree that having a good foundation such as C or Pascal is great. You learn several rules that must be followed in most languages. The problems I have is that in this particular case, he wants to learn to program and the easiest for that are OOP languages.

The proper way is start with C and end with Jav.....no I cant recommend that piece of crap to anyone :laugh: C#

Link to comment
Share on other sites

  • 0

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?

 

Good one. But, why the hate for Java?

Link to comment
Share on other sites

  • 0

I refer to work as in big, long term, time consuming scalable projects. Leading a team of programmers in making a calculator or a employee database, while someone has to do it, really isnt what we are talking about.

Anyways lets stay on topic and thats helping OP. I wanna see the code he wrote to see if we can comment anything.

 

Yes, I have worked on large, "serious", long term projects. But that's beside the point. What are you try to argue here? My, or your experience is beside the point, and does not make me, or you right.

 

I contend that pseudo code, done at the level where the implementer becomes "just a code monkey", is a waste of time. The designer could have written the program instead of doing the pseudo code at that point. Programmers can think just as quick in the programming language itself.

 

It's a common mistake to think of programming as a production activity. It is not. Programming is a design activity.

Link to comment
Share on other sites

  • 0

Now, on my thread a lot of you guys told me to learn the fundamentals of programming and I was wondering if someone could explain them to me in a nutshell and what exactly I should be looking for?

Fundamentals are concepts like these that exist in most languages in some form or another: http://msdn.microsoft.com/en-us/library/orm-9780596521066-01-03.aspx

 

and also control structures: http://www.dreamincode.net/forums/topic/220356-control-structures-loops-ifs-and-switch/

 

 

Never, ever, in my life have I written pseudo code for a project (outside of school, of course). But I can understand that for people who are having troubles understanding the flow/syntax of programming, it's a good way to start. I guess I just skipped that part as everything already felt natural and obvious to me.

If you create anything complex, you normally sit down and do some form of design first. It may not be out right pseudo code and it may not even be a formal process, but it's for the same purpose.

Link to comment
Share on other sites

  • 0

Hello,

Did you read the entire thread? A easier language (although less useful) is what he needs...

 

It really depends how you define easy. It's probably subjective, but for me, easy means simple, small, and without obfuscation. That's why I don't agree that C++, C#, Java, Python, etc are good starting languages. They're all big languages, that is to say, they have a lot of concepts (OOP included), keywords, constructs, syntax quirks, and finally a large library. C++ has the STL, C# has the dotnet framework, and Java and python are equally large. I don't envy anyone trying to learn those behemoths from scratch without any prior programming experience. I know I'd be overwhelmed. And even after getting to grips with them, what will they learn? They certainly won't learn about data structures, sorting, or much else that's already implemented by the large libraries that come with them. And probably little about memory management unless they jump into C++ details.

 

C is the foundation of high level programming, and a programmer does himself a disservice by not learning it. Using a real language analogy, It's the Latin of the programming world. With the romance languages being C#, Java, C++, Go, Vala, Objective-C, Perl, PHP, D, and many more. In fact it far eclipses even Latin in terms of influence.

 

Others may disagree, but that's my experience. Once I learnt C and did things for myself instead of always relying on built-in libraries to provide them I understood everything so much better.

Link to comment
Share on other sites

  • 0

 

Hey guys, this is a little update.

 

I have decided to go for C# because it seems like an ideal language for me, it's quite a high-level language from what I can gather and it just seems like a nice language.

 

Now, on my thread a lot of you guys told me to learn the fundamentals of programming and I was wondering if someone could explain them to me in a nutshell and what exactly I should be looking for?

Also, I'm looking for some easy pseudocode to learn how to read and interpret pseudocode so I can start learning how a program works by looking at its pseudocode and what causes to do what and what commands does what.

Good choice on C#. As for the fundamentals of programming, do you really expect someone to summarize an introductory course to programming in a forum post? What good would that do? I suggested an excellent book (which incidentally, uses C# as the teaching language) to you a few pages back: take a look at it. 

 

Pseudocode is just an informal, quick way of writing code for illustration purposes. There are no rules on how to write or read it, there are no standard "commands" or anything. If you don't understand pseudocode that's because you're not familiar enough with a real programming language. Learn a real programming language and you'll understand any pseudocode easily.

Link to comment
Share on other sites

  • 0

C is the foundation of high level programming, and a programmer does himself a disservice by not learning it. Using a real language analogy, It's the Latin of the programming world. With the romance languages being C#, Java, C++, Go, Vala, Objective-C, Perl, PHP, D, and many more. In fact it far eclipses even Latin in terms of influence.

 

Others may disagree, but that's my experience. Once I learnt C and did things for myself instead of always relying on built-in libraries to provide them I understood everything so much better.

I would add assembly to the list of essential languages to understand. That said, I disagree that either C or assembly are good starting languages (C++ is probably the worst). They're just too low-level and hard to work with; you want to minimize the barrier of entry.

Link to comment
Share on other sites

  • 0

It really depends how you define easy. It's probably subjective, but for me, easy means simple, small, and without obfuscation. That's why I don't agree that C++, C#, Java, Python, etc are good starting languages. They're all big languages, that is to say, they have a lot of concepts (OOP included), keywords, constructs, syntax quirks, and finally a large library. C++ has the STL, C# has the dotnet framework, and Java and python are equally large. I don't envy anyone trying to learn those behemoths from scratch without any prior programming experience. I know I'd be overwhelmed. And even after getting to grips with them, what will they learn? They certainly won't learn about data structures, sorting, or much else that's already implemented by the large libraries that come with them. And probably little about memory management unless they jump into C++ details.

 

C is the foundation of high level programming, and a programmer does himself a disservice by not learning it. Using a real language analogy, It's the Latin of the programming world. With the romance languages being C#, Java, C++, Go, Vala, Objective-C, Perl, PHP, D, and many more. In fact it far eclipses even Latin in terms of influence.

 

Others may disagree, but that's my experience. Once I learnt C and did things for myself instead of always relying on built-in libraries to provide them I understood everything so much better.

Ah, so the entire premise of this whole C is easier argument is just that you feel people should be required to learn C regardless...

Link to comment
Share on other sites

  • 0

Being frustrated is a only a very small part of programming, and if you can't handle being even the least bit frustrated, then you don't have the patience of being a programmer.

 

BTW; it is a lot easier at becoming a programmer if you start out bald...

Link to comment
Share on other sites

  • 0

it's simple, really. You're learning a new language(s) just like learning any other language on the planet. Sure, you can memorize a few terms or words, but you dont really understand what youre saying until you immerse yourself in it. I tried to learn programming years ago by taking simple college courses and reading books, but it just doesnt work. You need projects and really need to understand the philosophy behind programming.

 

And, for this reason, i hate programming.

Wait, if I understand it, you "hate"programming because YOU didn't immerse yourself enough in it?

Talk about being ignorant.

Link to comment
Share on other sites

  • 0

Ah, so the entire premise of this whole C is easier argument is just that you feel people should be required to learn C regardless...

 

Required? No. It certainly helps from my experience though. As I said, easy is subjective. That's just my interpretation.

 

I like a barebones and simple experience without anything getting in my way, including the language. A terminal, text editor (vim), compiler (GCC/CLANG), and debugger (GDB) are all I need.

Link to comment
Share on other sites

  • 0

I would add assembly to the list of essential languages to understand. That said, I disagree that either C or assembly are good starting languages (C++ is probably the worst). They're just too low-level and hard to work with; you want to minimize the barrier of entry.

 

Assembly is useful in certain cases, but I don't know whether I'd call it essential. Unless someone plans on doing system development or reverse engineering.

Link to comment
Share on other sites

  • 0

Assembly is useful in certain cases, but I don't know whether I'd call it essential. Unless someone plans on doing system development or reverse engineering.

 

Yea, I did not quite get why he'd say that. Never used assembly professional in my life, never did I had the need to.

Link to comment
Share on other sites

  • 0

I like a barebones and simple experience without anything getting in my way, including the language. A terminal, text editor (vim), compiler (GCC/CLANG), and debugger (GDB) are all I need.

 

I think you like that because that's what you 'grew up' with.  GCC, vim, and GDB all have their own (substantial) learning curve.  Their instruction sets are all languages unto themselves.  I don't think this guy wants to have to learn that ESC:wq is how to save and exit, or that gcc creates a file called a.out.   He already knows how to click File->Save.

 

Long story short:  use a simple, modern IDE that'll hold your hand to some degree, or just use Notepad in Windows.  (in fact, notepad is probably what I'd suggest:  it's simple, uncomplicated and familiar).  Personally, I'd avoid GUI programming to start.

 

I find it helpful to remember that computers can only really do four things:

  • Decision
  • Sequence
  • Iteration
  • Assignment

Arguably, Iteration is just a combination of sequence and decision, so that's only three things to actually learn.

 

Everything else that happens in a program is a bunch of these things mashed together called a 'function' or 'method'.  Understand those well and I think you'll have a good starting point for any language. 

 

I found learning object-oriented tougher than structured, but I know the kids these days learn OO right out of the gate.  Not sure which I'd recommend, but if you're struggling, I'd be inclined to learn something structured first.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.