Two Plus Two Newer Archives

Two Plus Two Newer Archives (http://archives1.twoplustwo.com/index.php)
-   EDF (http://archives1.twoplustwo.com/forumdisplay.php?f=81)
-   -   Learning java with no programming language experience, where to start? (http://archives1.twoplustwo.com/showthread.php?t=519841)

ArturiusX 10-10-2007 11:48 AM

Learning java with no programming language experience, where to start?
 
I thought EDF might be a good place to ask this question, it seems we have a lot of bright individuals here who could give me some good advice.

My day job would be greatly enhanced if I could learn java to code some apps to assist me. Trouble is, I suck at programming. I've never really programmed apart from some basic HTML stuff for some random sites, and some qbasic I did in school many eons ago. Is there any hope for me as a coder? What should I guy like me do to earn this new skill?

El Diablo 10-10-2007 11:59 AM

Re: Learning java with no programming language experience, where to st
 
Arturius,

What types of apps are you talking about?

If you really need java and don't have any programming experience, I think either taking a class or getting some books will be required. O'Reilly is my favorite tech publisher, looks like they have a number of good options. Here are a couple:

http://www.oreilly.com/catalog/hfjava2/ - Head First Java
http://www.oreilly.com/catalog/learnjava3/ - Learning Java

O'Reilly books are generally geared towards a more technical audience, though Head First Java looks more like a general interest publication.

I'm sure there's a Java for Dummies book out there that might also be helpful.

If what you really need is to build simple web apps, then you might not need a full programming language and only need to learn JavaScript or PHP or some other scripting language. These are much, much easier to learn and I'm sure you could find web resources that would be sufficient to help you learn those.

napkins 10-10-2007 12:04 PM

Re: Learning java with no programming language experience, where to st
 
Read some beginner stuff and look over tutorials. From there you should be able to get a grasp of what the language is about and start programming.

Once you get the basics down everything else you can pretty much learn on the fly.

Of course if you're aiming at making some complex programs you definitely want to plan everything out as much as you can. So, perhaps what I just said wouldn't apply to the apps you're trying to make.

mmbt0ne 10-10-2007 12:59 PM

Re: Learning java with no programming language experience, where to st
 
Yeah, like ED said, don't learn Java if you don't have to. PHP, for instance, is much easier in my experience. I also hear that Ruby on Rails is really easy, but I haven't used it for anything or even looked into it myself.

Maybe you could give us an idea what kind of apps you want to create and we could tell you what to learn?

ArturiusX 10-10-2007 01:45 PM

Re: Learning java with no programming language experience, where to st
 
Don't worry, I'm not making complex programs. The software I use has the option to code using a java based language to create apps you can run within the program.

I don't need to be running projects, just know the rules, the lingo, and common pitfalls while coding.

durron597 10-10-2007 01:50 PM

Re: Learning java with no programming language experience, where to st
 
The most important thing to learn when learning Java is the general concepts of Object-Oriented programming. If you don't learn this type of stuff NOW, you will develop bad habits that will take a ton of work and years to overcome.

Two major things to keep in mind (in addition to the above stuff)

1) DON'T BE AFRAID TO MAKE A NEW CLASS IF YOU THINK IT MIGHT BE A GOOD IDEA. I cannot stress this enough. There's a general 'fear' of making new classes, making more files etc. and instead try to do everything in your main class. DON'T LET THIS BE YOU.

This will make more sense after you read:

2) http://java.sun.com/docs/books/tutorial/java/concepts/

whodaman 10-10-2007 01:50 PM

Re: Learning java with no programming language experience, where to st
 
i took a class in college.. seems to me you could buy any decent looking beginners book and be fine just reading that and googling any problems you have

kutuz_off 10-10-2007 01:52 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
Trouble is, I suck at programming. ... Is there any hope for me as a coder?

[/ QUOTE ]

Programming because you're taking a class and programming because it will make your life easier are two very different things. I also thought I sucked at programming (failed a bunch of courses in college in fact), but then at my job I got transferred into a unit where I had to write COBOL (beat [img]/images/graemlins/frown.gif[/img]) programs, and I managed quite OK. You'll do fine. Just don't try to do way more than you must, if that makes sense.

Neko 10-10-2007 03:25 PM

Re: Learning java with no programming language experience, where to st
 
A non-java specific book I would really highly recommend to any programmer, particulary new programmers is Code Complete by Steve McConnell. This is really an excellent book about program design and how to write readable maintainable programs.

tshort 10-10-2007 03:50 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
My day job would be greatly enhanced if I could learn java to code some apps to assist me. Trouble is, I suck at programming. I've never really programmed apart from some basic HTML stuff for some random sites, and some qbasic I did in school many eons ago. Is there any hope for me as a coder? What should I guy like me do to earn this new skill?

[/ QUOTE ]

Are you set on Java?

I would recommend Python as a first language:

Python http://www.python.org/

or also another language similar to Python:

Ruby

Anytime I need to write a program to assist something I'm working on, I will generally use Python. Python and Ruby were designed with humans in mind rather than machine resources. I have programmed little in Ruby so can't make recommendations on resources. As for Python, there are extensive introductory materials / free online books at Python.org.

There you will find the following great and generally free resources:

BeginnersGuide/NonProgrammers Python Resources

I would also recommend considering Scheme (a dialect of Lisp). MIT uses Scheme in its introductory courses. Take a look at the MIT OpenCourseware for those with no or little programming experience. Scheme is not an object-oriented programming language. For that reason, learning Python would be more portable to other object-oriented languages.

As for Java, I don't believe I ever have had a book on Java. I previously knew how to program in C++. There are extensive free documentation and introductory materials on the web (on Sun's website). Also, programming in Java or any other language is much easier with a good development environment. For Java, I would recommend checking out the free open-source Eclipse Development Platform.

As for Python, I have use the Wing IDE.

mmbt0ne 10-10-2007 04:23 PM

Re: Learning java with no programming language experience, where to st
 
God I hate Scheme. I can't believe someone else has even heard of it.

I mean, it serves it purpose of teaching you how to think like a programmer very well because you have to use prefix notation [aka 3+2 would be written (+ 3 2)] which makes everything you do require some thought.

As lame as it is, I've actually learned more coding post-school than I did in school because I use it to do stuff that's actually useful now, rather than trying to write a scrabble game in Java, or create a recursive loop in Scheme.

Neko 10-10-2007 04:25 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]

I would also recommend considering Scheme (a dialect of Lisp).

[/ QUOTE ]

Recommending someone learn Scheme as their first language seems like a good way to turn them off programming forever [img]/images/graemlins/laugh.gif[/img]

[img]/images/graemlins/heart.gif[/img] python for really fast and easy developement of small projects

suzzer99 10-10-2007 04:26 PM

Re: Learning java with no programming language experience, where to st
 
I took a local community college class to get started. I recommend this over trying to teach yourself from a book. Especially if as you describe, you aren't a naturally gifted programmer.

suzzer99 10-10-2007 04:27 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
[ QUOTE ]

I would also recommend considering Scheme (a dialect of Lisp).

[/ QUOTE ]

Recommending someone learn Scheme as their first language seems like a good way to turn them off programming forever [img]/images/graemlins/laugh.gif[/img]

[img]/images/graemlins/heart.gif[/img] python for really fast and easy developement of small projects

[/ QUOTE ]

Yeah I tried to teach myself BASIC back in the 80s. Turned me off programming for about 12 years.

mmbt0ne 10-10-2007 04:34 PM

Re: Learning java with no programming language experience, where to st
 
I need to look into this python it sounds like.

fwiw, the first language I learned was Visual Basic back in sophomore year of high school (99-00).

El Diablo 10-10-2007 04:35 PM

Re: Learning java with no programming language experience, where to st
 
mmbt,

When I went to school at Rice (class of '93), Scheme was used in a bunch of comp sci classes, apparently because it taught good conceptual programming practices.

mmbt0ne 10-10-2007 04:38 PM

Re: Learning java with no programming language experience, where to st
 
They just took it out of GT's CS1101 class about 3 years ago. I think they do two classes of java now for intro, but I'm not sure.

gumpzilla 10-10-2007 04:40 PM

Re: Learning java with no programming language experience, where to st
 
What would be a good first language these days? I learned on BASIC and Pascal, then learned C, Java, and specialized nerd stuff (Mathematica/MATLAB). None of these seem like an optimal choice; though Java didn't seem bad at all when I learned it, I already had a very solid basis in programming and only needed to focus a bit on picking up the OOP behavior, and if you're trying to do both I imagine it could get ugly. (EDIT: Oh yeah, and duh, I more or less knew C already. Trading C's memory management for Java's more than made up for learning the basics of OOP, so easiness all around.)

I'm interested in learning Python, and have started reading up on it, but need to find a good project to work on to learn it (really to get me interested enough to spend my leisure time learning to code rather than reading or drinking etc.)

tshort 10-10-2007 04:42 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
[ QUOTE ]

I would also recommend considering Scheme (a dialect of Lisp).

[/ QUOTE ]

Recommending someone learn Scheme as their first language seems like a good way to turn them off programming forever [img]/images/graemlins/laugh.gif[/img]

[img]/images/graemlins/heart.gif[/img] python for really fast and easy developement of small projects

[/ QUOTE ]

I should have included the standard Scheme / Lisp disclaimer. OP, learn Python then take a stab at Scheme.

Tupacia 10-10-2007 05:35 PM

Re: Learning java with no programming language experience, where to st
 
If all you want to do with Java is to program a few little apps that will help you at the office, why don't you just outsource it via Elance.com? There are tons of competent cheap programmers who would complete your app and you could save yourself from learning the hassles of learning to program.

Keepitsimple 10-10-2007 06:28 PM

Re: Learning java with no programming language experience, where to st
 
I would just buy this from somebody competent. There is really no point learning java if you only need a few apps.

Duke 10-10-2007 09:13 PM

Re: Learning java with no programming language experience, where to st
 
My comments on things people have said here:
<ul type="square"> [*]Code Complete: Decent if part of your goal is to work well within a large development project. For you, I think the book sucks. There are far better books for "thinking like a programmer." "The Pragmatic Programmer" is an example of such a book.
[*]Scheme: Sucks. If you want to expand your mind, learn Python. Then find some books about functional programming, and use the aspects of that available within python and explore that area.
[*]Java Learning: Use the internet, and don't even buy a book. Start by following basic tutorials, and then find sample code that does certain things. Figure out how it's doing what it is apparently doing. The easiest way to learn something is to see code that does something similar. Eventually you'll figure it out. [/list]

Duke 10-10-2007 09:18 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
What would be a good first language these days? I learned on BASIC and Pascal, then learned C, Java, and specialized nerd stuff (Mathematica/MATLAB). None of these seem like an optimal choice; though Java didn't seem bad at all when I learned it, I already had a very solid basis in programming and only needed to focus a bit on picking up the OOP behavior, and if you're trying to do both I imagine it could get ugly. (EDIT: Oh yeah, and duh, I more or less knew C already. Trading C's memory management for Java's more than made up for learning the basics of OOP, so easiness all around.)

I'm interested in learning Python, and have started reading up on it, but need to find a good project to work on to learn it (really to get me interested enough to spend my leisure time learning to code rather than reading or drinking etc.)

[/ QUOTE ]

I used python to write a chat bot a while back. It saved me hours that would normally have been spend responding to stupid comments.

darkcore 10-10-2007 09:59 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
God I hate Scheme. I can't believe someone else has even heard of it.

[/ QUOTE ]

if heard of it. it was part of my "coding 101" at university. and you are right on. it sucks hard. stay away if you can.

@op
there are already many good points made in this thread. but to give you a fitting advice on "apps that assist you in your everyday work" it would help to clarify what you expect from that exactly.

if you want to learn a coding language i'd suggest: don't start with any oreilly-books. don't get me wrong, they are great. but they are not aimed for starters. read a "java in 21 days"-book or do a "java for dummies" online course. and then switch to the "real" books. it saves you from unnecessary worries because you then know the basics the intermediate books take for granted.

phyton is a good starting point and a pretty neat and slick language that can help you out on many things. and if you just want to have a helping hand in your office, it is probably better suited as java.

and elance is a good option if you are only interested in getting a useful app, but do not really want to learn how to code.


if you are not really interested in learning how to programm an app, i'd say it is better to outsource the coding and get someone to write you some scripts that do the job. learning to code is not extremly difficult. but it sure is cumbersome and time consumptive.

ArturiusX 10-10-2007 10:04 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
I would just buy this from somebody competent. There is really no point learning java if you only need a few apps.

[/ QUOTE ]

It'll be ongoing, and its something I need to code myself. Difficult to explain, but just take my word for it, I'd get someone else to do it if it was at all possible [img]/images/graemlins/wink.gif[/img]

Peeda 10-10-2007 10:14 PM

Re: Learning java with no programming language experience, where to st
 
I'm gonna second Python a choice for just banging out some small apps. Theres a decent free online book called dive into python at diveintopython.org but maybe that might be slightly too advanced for you.

Don't bother with Java I'd think. The bad thing about Java is that its relatively fickle and requires you to jump through tons of hoops and write down tons of extra "boilerplate" code. You're not going to understand why you need to do all these weird things till you learn a bunch of higher level concepts so the first one or two months of using Java will sort of be a confusing haze. Java is also a bit tedious.

With higher level languages like Python stuff tends to "just work" more and you can sort of just copy and modify stuff easier by googling for examples, and also get more instant feedback since you don't have to compile.

ArturiusX 10-10-2007 10:50 PM

Re: Learning java with no programming language experience, where to st
 
Thing is, I need to learn java, there's no other option [img]/images/graemlins/frown.gif[/img]

gumpzilla 10-10-2007 10:55 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
Thing is, I need to learn java, there's no other option [img]/images/graemlins/frown.gif[/img]

[/ QUOTE ]

Why not? Can you expand?

turnipmonster 10-10-2007 11:00 PM

Re: Learning java with no programming language experience, where to st
 
if you need java specifically then just sign up for a class. you can learn it on your own, but a class will make the process a lot more straightforward and you probably won't waste as much time spinning your wheels.

also, read up on object oriented programming concepts here . understanding this stuff is essential if you want to have a good grasp of how stuff works in java.

Duke 10-10-2007 11:57 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
[ QUOTE ]
Thing is, I need to learn java, there's no other option [img]/images/graemlins/frown.gif[/img]

[/ QUOTE ]

Why not? Can you expand?

[/ QUOTE ]

I thought he said that he wanted to hook code in to some other application that only supported a "java-like" language.

gumpzilla 10-11-2007 12:08 AM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
[ QUOTE ]
[ QUOTE ]
Thing is, I need to learn java, there's no other option [img]/images/graemlins/frown.gif[/img]

[/ QUOTE ]

Why not? Can you expand?

[/ QUOTE ]

I thought he said that he wanted to hook code in to some other application that only supported a "java-like" language.

[/ QUOTE ]

Yep, I missed his follow up. My fault.

Chips Ahoy 10-11-2007 12:36 AM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
I thought EDF might be a good place to ask this question, it seems we have a lot of bright individuals here who could give me some good advice.

My day job would be greatly enhanced if I could learn java to code some apps to assist me. Trouble is, I suck at programming. I've never really programmed apart from some basic HTML stuff for some random sites, and some qbasic I did in school many eons ago. Is there any hope for me as a coder? What should I guy like me do to earn this new skill?

[/ QUOTE ]

I believe the best way to learn programming is to write programs. Unfortunately there are many programs you would fail if you tried to write. There are some that are trivial to write. It's a pretty steep curve where the project only needs slightly harder requirements to go from trivial to impossible. It's similar to poker game selection, try to pick projects you can do and move up as you gain experience.

I suggest you start by finding a simple program online. Print it out. Then type it in by hand and try to make it run. You will learn quickly this way, especially from your typos. Let google be your teacher when you get stuck.

Typing the program in is the easy part, making it run is harder. You need a way to see what the program is doing when it runs. Copious debug traces (messages the program writes just for the author's benefit, not for the user) are the simple way to see what the program is doing. Using a debugger to examine the program is a valuable skill.

Having a mentor to read the program and provide feedback is awesome. Attention to detail, writing for the reader, handling errors well are skills that take you from beginner to competent.

Always look to simplify your program, reduce the assumptions it makes, don't cut/paste. These are some hints for bigger projects.

The language and toolset you use hardly make a difference. You have a business need for java, so java it is.

Write a simple program, see it run. Write a slightly less simple program. Repeat.

I like reading the books better after you have some programs under your belt.

milliondollaz 10-11-2007 03:09 AM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
They just took it out of GT's CS1101 class about 3 years ago. I think they do two classes of java now for intro, but I'm not sure.

[/ QUOTE ]

Pseudo-code FTW?

I've got two sites i've looked at in the past when i tried to learn how to program on my own;

online berkeley video courses

free web programming tutorials - this one has javascript but not java, i don't know the difference

if anyone wants PHP for dummies PM me, i've read the beginning and it looks pretty dope.

mmbt0ne 10-11-2007 02:54 PM

Re: Learning java with no programming language experience, where to st
 
So, if I was going to go about learning this Python stuff with a decent programming background, how should I go about it?

Are the books worth it, or just stick to online tutorials?

tshort 10-11-2007 04:54 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
So, if I was going to go about learning this Python stuff with a decent programming background, how should I go about it?

Are the books worth it, or just stick to online tutorials?

[/ QUOTE ]

As someone mentioned above:

http://www.diveintopython.org/

I used this free book when first using Python. After using that book, I would use a variety of sources for reference. Most all of them can be found here:

http://www.python.org/doc/

tshort 10-11-2007 05:15 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
I'm interested in learning Python, and have started reading up on it, but need to find a good project to work on to learn it (really to get me interested enough to spend my leisure time learning to code rather than reading or drinking etc.)

[/ QUOTE ]

The first time I worked with Python it was for a group project in a class (Software Engineering 1). We developed a GUI for modifying configuration files using GTK widgets. There are other similar widget toolkits for creating GUIs, also.

I have used Python for ICM implementations and hand history parsing / data mining. A long time ago I did this to compare ICM to actual results and was attempting to see how ICM deviated from a good player's results. I've used it to simulate $EV in the Party Step tournaments to show they aren't worth playing $/hr wise (unless you started at Step 4).

I guess you just have to be creative to find something which interests you.

jba 10-11-2007 05:31 PM

Re: Learning java with no programming language experience, where to st
 
if you've never really programmed before I would suggest taking an introductory course at a community college.

most books and online reference you're going to find are geared towards people who already understand programming and are trying to pick up a new language.

for example, taken from the first real section of that python page:

[ QUOTE ]

Python has functions like most other languages, but it does not have separate header files like C++ or interface/implementation sections like Pascal. When you need a function, just declare it, like this:


def buildConnectionString(params):

Note that the keyword def starts the function declaration, followed by the function name, followed by the arguments in parentheses. Multiple arguments (not shown here) are separated with commas.


[/ QUOTE ]

they are assuming that the reader understands what is meant by the bold words. These words are jargon, they will not be understood easily by non programmers. Granted some of this stuff won't be too tough to figure out through deduction but most material like this isn't intended for OP. He really needs a day of class talking about what a function is before this will really make sense.

mmbt0ne 10-11-2007 05:38 PM

Re: Learning java with no programming language experience, where to st
 
t,

I was gonna play with python to scrape data off of websites and into a db or excel file. Good language for that, or would I be better off to try something else?

Bostaevski 10-11-2007 05:56 PM

Re: Learning java with no programming language experience, where to st
 
http://deitel.com/Books/Java/JavaHow...1/Default.aspx

I personally love the Deitel books. Unlike most books which tend to be written as references, the Deitel books are written as textbooks. They have sample problems and solutions at the end of each chapter.

Also what I like is that there aren't any code snippets. Every single code example is a complete functional program that can be keyed in and compiled.

When it comes to learning a new language I always look to see if there is a Deitel book on it first. After becoming comfortable with the language it's then time to pick up a good solid reference book.

durron597 10-11-2007 06:17 PM

Re: Learning java with no programming language experience, where to st
 
[ QUOTE ]
Don't worry, I'm not making complex programs. The software I use has the option to code using a java based language to create apps you can run within the program.

I don't need to be running projects, just know the rules, the lingo, and common pitfalls while coding.

[/ QUOTE ]

I think most people in this thread (self included) missed this post.

What exactly are you doing with your software?


All times are GMT -4. The time now is 07:08 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.