Jump to content

Opinions On Java


SupaRice

Recommended Posts

So I'm wanting to jump into coding, and I want to learn a somewhat easy language that will allow me to create apps that can be easily deployed on any platform.

So I'm thinking about Java.

Opinions? Places to start, or good sites to look at?

(I took programming back in college, for COBOL, C, PASCAL, etc.. But that's been a while ;) )

Link to comment
Share on other sites

if you want to make stuff that has a GUI and run on multiple platforms then pritch much java is your bet. GTK+ and the like can become a bi** to get working everywhere .

i like java, its got a big library so i dont have to fiddle with stupid crap, if i want a hasmap i use one, dont got to go snooping around for one or make my own.

I also preffer the syntax, but thats a personal thing. you may like c++ b/c of your past with c, but again anything with a GUI is going to get anoying fast (not to say Swing dosent have its own caveats, but its not system dependent).

one of the complaints about java is that jar's arnt exes and confuse people. but on windows there is jSmooth and on Mac there is jarbundler to make them look and act just like a native app. And on linux, well, the linux user know wtf a jar is.

Sun has some very excelent tutorials that you can get here http://farm1.static.flickr.com/75/19678631...pg?v=1202592616 and they even have their own recomendations here http://java.sun.com/docs/books/tutorial/

maybe not as good for learning, but great for looking things up that have you stumped and getting awsome examplea and explanations and details http://mindprod.com/jgloss/jgloss.html

Link to comment
Share on other sites

I'd suggest diving in with any language (though I recommend Python)

Think of some simple tasks to manipulate your filesystem or maybe catalog your music (or automate things like you said). Simple projects like these will teach you many core programming concepts, and you will be able to continually build on them to make them better and more useful.

A quick search revealed this free online book for learning programming with Python: http://www.freenetpages.co.uk/hp/alan.gauld/

Link to comment
Share on other sites

a Language war can sometimes be as long, and pointless as an OS war.

I started on Pascal, then C++ then Java.

I know people who just did Java.

S'up to yourself, but the most widely used OO ones are Java and C++.

Currently theres high demand for .Net devlopers, but a fair few people in communities like this are anti microsoft.

Python and Perl, from what i understand, are fairly easy to pick up (although ive never done them myself)

Could go Waaay leftfeild and do Ruby on Rails :P

Link to comment
Share on other sites

Java is nice (multiplatform, easy GUI, etc.), but it's really slow. I'd recommend learning Python or Perl because they're really really easy to pick up on and also pretty powerful; also they have an advantage being interpreted languages so you don't need to re-compile your code every time you make a petty change.

Link to comment
Share on other sites

If you use Windows, and just want to code applications for yourself go with C#. C# allows you to create powerful applications very quick. It's simple to pick up and easy to use, and MSDN has documentation for everything.

And it can be used on more than just windows, so people using it on *nix can learn it too through http://en.wikipedia.org/wiki/DotGNU and http://en.wikipedia.org/wiki/Mono_(software)

Link to comment
Share on other sites

And it can be used on more than just windows, so people using it on *nix can learn it too through http://en.wikipedia.org/wiki/DotGNU and http://en.wikipedia.org/wiki/Mono_(software)

Mono is far behind .NET 3.5 and I don't class Mono as the platform to learn C# on. If Mono were up to .NET 3.5 full standards things would be different.

Link to comment
Share on other sites

Im a python coder, its a great language, beginner or not, it takes very little time to code (simple, no compile needed), and there is a module for almost everything, from OCR to hashing algos.

Great tuts on the python site as well.

Link to comment
Share on other sites

@dr0p, java is not quite interpreted* any more, and hasn't been slow since 1.4 and its been on par for speed with gcc since 1.5, with exceptions were gcc overtakes java and java sometimes overtakes gcc see - http://www.stefankrause.net/wp/?p=9

@discusion about c#

C# is very similar to java but lacks the any platform part, especially when it comes to GUI stuff (everything pales to java on that regard, though java does have its problems with it for sure). yes there is a nix version, i have no clue why :P (j/k but thats more trouble then its worth for someone who is just learning).

python is also very easy, but again if you want to make stuff with a GUI your sol, python will go from crosplatform to tied down to a specific platform fast. (w/ the exception of teh GTK, but thats still a bit complicated and requires it be installed on the windows machine and then no OSX unless they go get a buggy diffrent project and so forth, just not worth it)

Link to comment
Share on other sites

python is also very easy, but again if you want to make stuff with a GUI your sol, python will go from crosplatform to tied down to a specific platform fast. (w/ the exception of teh GTK, but thats still a bit complicated and requires it be installed on the windows machine and then no OSX unless they go get a buggy diffrent project and so forth, just not worth it)

What about wxPython and Tkinter? They both come with python and run on Mac/Linux/Windows...

http://en.wikipedia.org/wiki/WxPython

http://wiki.python.org/moin/TkInter

Link to comment
Share on other sites

both still require that the libraries already be installed, if not you now have to package the libraries (multiple megs) with your python code (probably only a few hundred kb tops). And you cant just give that to any of your friends, in a single file, so you get stuck either telling them to drag n drop a 10+ mb folder for a tiny program, or your making 2-4 mb separate packages for each one, which is still an ugly hassle.

Link to comment
Share on other sites

both still require that the libraries already be installed, if not you now have to package the libraries (multiple megs) with your python code (probably only a few hundred kb tops). And you cant just give that to any of your friends, in a single file, so you get stuck either telling them to drag n drop a 10+ mb folder for a tiny program, or your making 2-4 mb separate packages for each one, which is still an ugly hassle.

From my understanding, if you have Python, you have Tkinter.

If you must package your Python app, you can use great tools like py2exe and py2app. In my opinion, the time you will save and the code readability you will achieve is well worth the other party dealing with a larger file (in the case that external modules must be included). ;)

Link to comment
Share on other sites

Yeah, what's really important is that you find language in which you can efficiently translate your ideas into working code. That's all that really matters :)

You should be able to always translate your code into pseudocode. Being able to model your ideas before coding is very important. Once you understand that, you don't care about the language you're coding in.

You should code in a language that is adapted to what you want to do. Don't use PHP+GTK to create standalone applications. Don't use Python to create very intensive math applications. Etc, etc. Each language has its specifics, choose your language based on those.

Link to comment
Share on other sites

well at http://see.stanford.edu you can take the programming methodology course which is java for free. that was reason enough for me to pick it up.

Link to comment
Share on other sites

@adamzap

yes Tk is part of python, but most people dont have python installed, so your still giving them large multimeg files just for one small program. Most people have java

you dont use python for math b/c its an interprited language, and it simply can not reach the performance of java or c.

Link to comment
Share on other sites

I was not a fan of java whilst learning it, however once i delved into c and c++ with all the plethora of data structures and memory management issues... Java really became a programmers dream by compariso... Although cpp is a lot more powerful, java has more than enough to complete most application requirements.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...