Adult add or some bullshit I swear
How do you force yourself to sit down and learn a language? I have wonderful ideas about what I want to do with those skills but getting there is driving me bonkers. I own SAMs teach yourself C++ and c++ all in one desk reference for dummies (seriously)
Any tips here guys, I was a horrible studier during highschool for reference.
I always find the best way for me to learn a language better is to come up with a cool project that I am interested in and solve it using that language instead of really a book cover to cover. When you are finished, you will come away confidently knowing the language enough to tackle other problems. That way it's not like you are studying things you don't need to know at the moment, but concepts you need to know in order to get the project completed so you can show it off to yourself. It may be different if someone is learning their first programming language though. You should have a good grasp of basic data types and control structures before jumping into toy projects.
I wanted to learn Perl so I wrote a few genetic algorithms in order to learn it. I made a simple one which simply evolved random strings to the phrase "Hello World". And I wrote a simple online voting script. After that I felt much more familiar with Perl. That's what I do.
Is it just me or does the title to this thread make no sense…
When you learn your first language, you have it in your head that it is all about memorizing syntax. That's what makes learning your first language so hard. Memorizing syntax is obviously a fundamental piece of programming, but its not what you should learn from the textbook, you should learn that from practice.
Programming is all about problem solving, and looking at things in different ways. There are a million different ways to solve a problem, just some ways are better than others. Some problems are solved more efficiently using arrays, objects, inheritance, etc; but the thing is, no problem requires these things. Finding the optimal solution to a problem is the skill you should obtain from the textbook.
Practice everything you learn numerous times and the syntax will come naturally. Just make sure you don't get stuck using one approach, and not want to try a different approach to the same problem. That, in my opinion, is what creates bad programmers.
I'm willing to bet that if you stop trying to memorize everything you read in the textbook, it will become a whole lot more enjoyable. And stop thinking about it with such bad connotations, like how do you FORCE yourself to…. Think about it in a more positive way.
Just my opinion.
The first language i learned was Visual Basic in a class in high school. The hardest part about learning your first language is the theory. once you know theory learning an other language is much easier. I probably wouldn't have picked it up so quickly if i didn't take a class. I'm the same way, its very easy for me to space out while learning new things that require the amount of thought that programming does. Like the others have said, don't force yourself. enjoy it. I use Bloodshed for C++. start off with console apps. while you're working through the book, start thinking of simple things that sound fun to you.
Mb0742 wrote: How do you force yourself to sit down and learn a language?
Have you tried CodeAcademy?
It's pretty fun and they give you awards with each challenge you complete. They just recently added Python and Ruby too!
I taught myself C++ in my high school library about seven years ago. The allure of hacking is what drew me to learn how to code. Even though I couldn't really understand how a buffer overflow works or what shellcode actually was, I still knew that eventually I would like to be able to write my own exploits. I started with a simple Hello World program and began editing it. I learned how to accept user input and how to perform math. I learned all of the different datatypes and found there were a few which I would end up using for the rest of my life: int, double, char, string. I then learned looping (for, while, do-while), then control structures (if-else-switch), and finally functions (playing around with parameters to understand how functions worked and their limits). Then I took a Java class at my local vo-tech as a 3-hour elective. I didn't start writing classes in C++ (or even know what they were) until after taking the Java class.
From my experience, it's best to have a desire to learn. Then you can teach yourself the basics of C++. Then take on Java because it's a lot of fun when you understand how code works. Java is like a whole new world after you're accustomed to C++. Java makes a lot of things easier (introduction to more "advanced" topics like client-server tech, network, database, applet, and GUI). After learning these things, you can move on to C# and it's like a whole new world again! Plus, C# is a business standard so you'll definitely need to know it if you plan on working as a software developer in the future (you'll also need working SQL knowledge because businesses want you to interact with databases).
I know it's a lot to read, but it's full of a lot of wisdom. Good luck with your endeavors.
I agree with you guys - a little project I want to work on / need to. Ok so at work we have a few guys and only one decent sound system, as such it's just plugged into the biggest desk so all the wires and sub can be neatly stored away. The problem being that when a song we don't like comes on we either need to manually change it or ask the guy sitting there to do it (if he wants). How does a voting program that takes votes from known clients and eventually changes the song sound? It would involve networking obviously, logic, authentication and some magic way to push next on itunes. Thoughts?
Mb0742 wrote: How does a voting program that takes votes from known clients and eventually changes the song sound?
It would involve networking obviously, logic, authentication and some magic way to push next on itunes. Thoughts?
Your question was all over the place. Very difficult to understand…
Are you asking us what we think of a "voting program" that takes votes from known clients in order to change the song? I don't know what you mean by "eventually changes the song."
If you want a voting program like that, use Pandora.
If you have Winamp running, you can set playlists and use the Winamp Remote to change the songs with a smart phone.
If you are wanting to write this project yourself (which I think is what you're asking for), I say happy coding. Either you're asking for our approval on the potential project or how you would actually go about writing such a system.
If you're asking the latter, then some "networking" would be needed to connect to whatever service you're wanting to implement. Authentication would be tied into the networking thing. And logic is required for anything like this.
You mentioned iTunes, so I'm guessing you want to use playlists from that?
I mean. Why not just download Winamp and use Winamp Remote? It's fast and simple. You'll achieve exactly what you want without having to reinvent the wheel (a very large and sophisticated wheel).