an_alien — 2012-01-05T01:24:57-05:00 — #1
My passion is computers and I love to do all kinds of things from programming to web/graphic design.
I'm planning on doing some freelancing for web/graphic design and leaning more towards web and app development.
Do you guys think it's worth learning a programming language like Java for me. Like, would it come in handy for a web developer? I know Android uses Java, but now apps can also be written in HTML 5. I actually know a bit of Java, but I'm slowly forgetting it as time passes by and me not using it for any practical use. I learn Java 1 so I have basic java knowledge up to basic data structures and some GUI. That's about it. So you guys think I should continue learning java or focus completely on web design/development? Again, I do freelance work for a living currently.
dnordstrom — 2012-01-05T18:10:39-05:00 — #2
You can use Java for web development, sure, but it's not very common these days. I would recommend learning a general purpose language such as Ruby or Python—you can do all sorts of programming tasks with them and they are perfectly suited for web development.
Personally I strongly prefer Ruby, and you can even use Ruby with Java using the JRuby implementation (which supports Ruby 1.9, the Ruby on Rails framework etc.) You'd be able to make use of your Java knowledge as well as the Java standard libraries and the JVM. And, I would stay away from PHP if I were you, as many professionals frown upon it.
I'm saying this as a Ruby developer that has read some Java and also used PHP for many years.
To answer your question; only you can decide what you want to focus on. You need to decide if the web is what you want to do, or if you want to venture into native mobile development etc. I personally chose the web.
an_alien — 2012-01-05T18:18:31-05:00 — #3
Thanks, I've heard of good things about Python and Ruby before so I might go learn one of those. I was going to learn PHP since I see it widely used on the web, but after you said that, I'm thinking about changing my mind.
sg707 — 2012-01-05T22:44:59-05:00 — #4
If you're looking for long road ahead as a programmer than Java. If you're looking for quick way of doing things than mini PHP/RoR/etc... languages. The part where I say "mini" is comparing w/ vast Java libraries. By all means, I'm not saying Java does better web development than other languages.
If I have to give analogy is like going to Home Depot VS IKEA to build a ..say bed frame. Let say you got 0 experience in building a bed frame and you goto Home Depot... You'll feel very lost when trying to pick out which materials to buy and tools... Most likely, you'll miserably fail. Now, let say he went to IKEA and bought a "Bed frame kit". It's got all the tools and instructions in ONE box. I'm sure he'll be very ^_^. However, his way of building is going to be always "ONE" box solution for next project as well. So, you may switch from PHP/RoR/etc... based on what you're trying to build.
Now, going back to Home Depot example and miserably failing to make a bed frame for the first time. You have learned "something"... So, if you made a 2nd bed frame then you'll most likely succeed or at least be better than previous one. After about, 5 years of experience and someone asks "Can you build a deck?". You'll say "Sure! I can apply the experience of building bed frame to deck". As you see Java is a "accumulative" programming language..the more you use the more powerful it gets... The bad? it takes forever to master.
an_alien — 2012-01-05T22:50:32-05:00 — #5
Well, do you guys think that Java has a bright future? I mean, new languages are coming out all replacing old languages. In the end, I don't really want to work for someone. I want to build something, market it, and sell it myself. I could choose any path cause I love all aspects of computers. But I would like to choose the one that will be more valuable for me.
sg707 — 2012-01-05T23:02:26-05:00 — #6
In that case, stay away from Java. Using Java, chances are you'll work under someone. Still, you can become your own boss by being "independent consultant". They typically charge from $80/150 per hour.. then again, you're going to be working for someone.
sg707 — 2012-01-05T23:06:43-05:00 — #7
But then again... Java has the MOST open source library to choose from. So, if you ask a question "Can Java do XYZ?" the answer will always be "YES".
an_alien — 2012-01-06T00:00:48-05:00 — #8
Hmm, it's a tough choice and so little time! lol, I guess I'll see where life takes me.
kb18001 — 2012-01-22T02:48:52-05:00 — #9
recently i heard that twitter is going to migrate from ruby to java in one of the article.
Most of the erp,webbased applications are using java because of robustnes provides
Learning java is added advantage for your skill set as per me
pfeiffdog — 2012-01-23T17:21:49-05:00 — #10
I am actually in the same boat. I want to learn a programming language as well and considered Java and/or PHP. My main reason is to get a programming job initially with the intent to break out on my own someday. With the idea that I want to qualify for a job in progamming would you still recommend Java or something else?
sg707 — 2012-01-27T15:32:36-05:00 — #11
I recommend Java if you have college degree. If you know Java, chances are you'll be working w/
government contractor (lockheed/northrup/etc...)
I'd say 99.99% requires an IT degree. Why do you need a degree if you already know Java? It is what it is. If you don't have it, you won't even get interviews. I didn't even get to learn Java in college.
djowens826 — 2012-06-08T12:00:42-04:00 — #12
Where the hell have you been? What professionals are you speaking to, this information is pure garbage. Statistically speaking a vast majority of sites used by the public are programmed in PHP. The biggest of course being Facebook.
I currently work as an open source developer and in the bucket of open source you have (Java, Ruby, Python, PHP, ASP.NET(vaguely open source) and ColdFusion "Kind of dead") 89% of my job I deal with PHP. Why? Considering almost
every site uses a CMS now days, it's very hard to find one that is widely used accepted and developed for that's not in PHP. PHP has advanced into a very OOP language, which it may not have been created to do that it most certainly is now. It has become the corner stone of the web market today dominating over many other open source languages. For the web I would recommend learning PHP, Ruby and Python. Java is a great language with a huge potential but many companies that use Java aren't solely using Java. If anything learn one and move to a more advance language, with a very in depth logic behind it such as Object-C or C++. Now if you are deciding to move to native application development.
Then Java will be a must depending on if you're programming for Android which seems to be the only mobile platform utilizing Java right now. iPhone (Objective-C) Windows Mobile (C++, XNA, ASP.NET/C#). Now speaking from a financial benefit, Java developers are paid extremely well and generally very high. The comment that you need a degree to get a development job in Java is asinine. Don't have a degree, never needed one. Most employers will take a person with
more work related experience under their belt then someone with just a degree and a little work experience.
Fact is, learn a language whatever it maybe. Java, PHP, Objective-C, C++, Ruby, Python, ColdFusion whatever. The most important thing about programming is the logic behind it. Learning how to think like a computer and program like that is key, after mastering that just referring to the API will generally solve almost all problems/roadblocks. After awhile the syntax becomes mostly the same with a few variations.
pulse90 — 2012-06-14T05:37:02-04:00 — #13
if you have a long time then prefer the java and if you have short time then prefer the Ruby, Python. Ruby and python programming tasks with them and they are perfectly suited for web development.
mittineague — 2012-06-14T14:27:41-04:00 — #14
I agree 100%
I've always liked Jave even if a lot of it was, and still is, way over my head. Though I don't know "everything" I've found that when I wanted to do something it was always possible, learning things on an as-needed basis. *It's a big plus if you're comfortable working from the command line.
Other than Applets, most of the Java I've written is for desktop apps that work with my OS, not web pages (i.e. JSP) though AFAIK that arena is mature now.
greenlinux — 2012-06-28T14:19:41-04:00 — #15
At the end... Which language should a person learn in order to make money as a freelance Web Developer? C#, PHP, PYTHON, JAVA, ROR?
serverstorm — 2012-06-28T15:48:13-04:00 — #16
Welcome to Sitepoint! Does the 'greenlinux' mean 'Mint' by any chance?
Many North American companies use .Net so C# is a good choice if you want to freelance as an 'at call' project developer. However if you want to do Web applications then look at PHP or ROR. ROR is purely object oriented and has quite a graceful / logical way of implementing the code, PHP (as posters above have indicated) is becoming more mature with its' OOP implementations, as well as it still fully supports procedural programming.
If you get to pick the technologies you use for your customer's projects then PHP or ROR would be good choices. PHP has expansive and good quality documentation; I am not as familiar with ROR so I can't comment on that.
You will find more PHP programmers out there. This means that there is a larger pool of published 'tutorials', 'posts', and 'blogs' about PHP. This is not always a good thing as some people publish incorrect or poor ways to do thing and if you don't know any better then you will 'learn the hard way'. Try to find knowledgeable and giving people (like here at Sitepoint) that will help you with high quality advise.
greenlinux — 2012-06-28T16:39:21-04:00 — #17
Thanks ServerStorm for taking your time to answer my question. I guess PHP will be the one to go and C# if you want to work freelance but inside an office.
bestofshayari — 2012-06-29T02:58:56-04:00 — #18
java is the futuristic technology blended with present enbedded systems.
if you can learn java than it is useful for your business and as well as for your professional growth.