The new forums will be named Coin Return (based on the most recent
vote)! You can check on the status and timeline of the transition to the new forums
here.
The Guiding Principles and New Rules
document is now in effect.
Below average IQ guy wants to learn Java, news at 11.
Ok so, after some thinking about my future, I'm just now coming to the realization that I might want to try out computer programming. Are there any Java developers here? How easy/hard is the work (I'm up for the challenge)? I'm just curious.
Diamond FC: 3867 1354 8291
TWITTER TWATS0
Posts
Learning enough programming to really develop high level stuff is hard.
There's a middle ground there, but for the most part you don't gain a whole lot of capability for your effort from the time you reach the point where you can say "Oh hey, I can automatically back this folder up every week" until the point where you say "I'm ready to apply for development jobs"
What exactly are you looking to do?
As a former professional Java programmer, my advice is to start with C++. Maybe I'm biased because that's what I learned first, but I think you'll learn more about how programming languages and data structures work if you start with C++. Also switching to Java or some other language later will be pretty easy.
Not Java but mostly web languages. Good place to learn the basics of programming if you've not touched the subject before
Streaming 8PST on weeknights
I've had a very spotty history with Visual Basic (barely understood it in high school and this one math problem involving pennies of all things kicked my fatass quarters ago in my college).
Right now I have Java for Dummies (5th edition) and Head First Java. What are some good C/C++ books for beginners?
TWITTER TWATS
3DS Friend Code: 3110-5393-4113
Steam profile
Programming is one of those things that you can spend a lifetime mastering, but would probably take 3-4 years to get reasonably proficient enough to get an entry-level job, depending on your skills and motivation. As an anecdote, I had a friend who used to be a kinesiology major, changed to CS, and after 3 and a half years he now landed a sweet job at Amazon. What set him apart though was extreme dedication to learning, love of the craft, and constantly getting his hands on projects he could work on.
At any rate, you should first figure out if you actually _like_ it. The best way to do that in IMO is by taking a good introductory class.
If you are already sure that computer programming is the way you want to go, the absolute best way is to go get a bachelor's degree in computer science.
If you are specifically looking to learn java, those books are a decent place to start. Past that, just start writing code. Make programs that do interesting things. Once you get your basics and want to learn more about writing programs in the "real world", I would pick up a book on design patterns (head first design patterns is supposed to be pretty good), and "Effective Java" should be mandatory reading for all Java developers. Keep in mind that it would probably mean very little to you right now. It's more on writing good java code than teaching you java.
How hard is Java development? It's a hard question to answer, but I'll give it a shot (This all applies pretty equally to programming in general, not just Java. Once you get deeper into programming, you will begin to see that learning a language isn't the core of it any more than learning to drive a Ford Fusion is the core of learning to drive a car. What's important is being able to follow and understand increasingly complex logic, algorithms, and data structures inherent to all programming. Anyways:
-Writing code that does something and runs is easy if you have a logical mindset.
-Writing a useful application like at the level many employers call for can be a bit of a shock to the uninitiated. Coming from your little 5 class practice applications to adding functionality to an existing code base with hundreds of thousands of lines of code is a big jump. You will rarely, especially in entry level jobs, be breaking ground on a brand new application with your code, the average program spends the majority of it's life in maintenance and you will frequently be dumped in to a large existing code base and expected to figure things out. Learning to read other people's code is just as important as learning to write your own. Anyways, this is the kind of work where you will be doing things like parsing files, interfacing with databases, coding user interfaces, etc. and it is a significant part of development work out there today. Anyways, this kind of work isn't too hard once you get over the initial hump into professional code bases and it gets easier with experience. This is where a lot of people stop and you can make a living doing just this kind of work. Many people do.
-Advanced programming and software development is hard, very hard. This is where you start getting to advanced topics like artificial intelligence, embedded systems, highly distributed applications, cryptography, and the like. This is the kind of work where all that math, those data structures courses, those algorithms courses, and "those CS courses that everyone drops out of half way through" start to pay off. The work is extremely demanding and you can spend a lifetime learning about any one of the many sub-fields. Some of the smartest minds of our time do just that. These fields are still constantly evolving and it requires an incredible amount of motivation and self-directed learning just to keep up in these fields. On the other hand, the work can be extremely rewarding and extremely lucrative.
TWITTER TWATS
C/C++ are both fine places to start. Just an FYI, with C and C++ you will learn much more about what goes on under the hood than with a lot of other languages but also experience a much higher learning curve because:
- C/C++ leave a lot of implementation details up to you that many other languages take care of (Memory management being the elephant in the room here)
- C/C++ is generally built with the idea that you know what you are doing, and lacks many of the "protect you from yourself" features (or annoyances, depending on who you ask) that languages such as Java have. On this plus side, it gives you freedom to do things that many languages won't "let" you. On the down side, you are given more than enough slack to hang yourself with. For example, you are more than welcome to do things such as assign values to array indices that don't exist, and instead of immediately dying horribly with a message pointing you to the exact location of your error like many languages, the program will happily continue along and simply produce output that makes no god damn sense when the time comes, leaving you to hunt down the issue yourself.
That's not to say it's a bad language to start with. Mainly these are just some things to be aware of.
Secondly, reading is great and keep at it, but also make sure you start writing code, no matter how simple, ASAP!
Java is very easy language. But you have to write the code whatever you learn. Java is Object Oriented Programing language. Java is easy and popular language as well. As a beginner, i will suggest you to code with notepad. When you will gain some basic knowledge of Java coding than you can switch to IDEs (eclipse, netbeans, jDeveloper) to reduce your effort and increase the result.
Best of luck KING LITERATE