Computer Forums

Member Login

Remember Me? Sign Up! | Forgot Password
 
Slogan
 
Closed Thread
Old 12-18-2008, 08:06 PM   #11 (permalink)
Dr.House's Avatar
 
True Techie

Join Date: Dec 2008

Location: Rx Counter

Posts: 147

Dr.House is on a distinguished road

Send a message via AIM to Dr.House
Default Re: Learning Java

Quote:
Originally Posted by jaeusm View Post
I don't know anyone who sets out to memorize programming language syntax. The more hands-on experience you gain with a specific language (repetition) combined with in-depth study of the language and it's supporting framework (if applicable) is what causes the syntax to stick in the mind. I can certainly tell you that my employer would not be thrilled with my productivity (nor would the guys on my team) if I didn't have a deep understanding of the language/framework.

Because I am intimately familiar with the technologies I use (C#, .NET, WPF), I understand many of their limitations. As such, I can account for those shortcomings early on in my design. On the flipside, I also know what works well, and I can exploit that in my designs. Simply reading a few docs on MSDN is not going to give me that information. It takes quite a bit of time (on the order of months and years) to absorb the vast amount of information available in books and everywhere else. Plus, new versions of the technologies, languages, frameworks, and tools are being released regularly.



That's easy to do. There are many different ways to solve the same problem with a particular language, but which way is the right way? Do other parts of the system constrain me from using the "optimal" approach? Should I use an imperative style? Should I use a functional style? Should I use lambda expressions? Should I use eager or deferred execution? Is the problem I'm solving a special case that should be handled by my language in a non-traditional way? Is my solution easy for other programmers to understand and maintain? Does my solution follow the best practices for my chosen language?

Don't get me wrong, algorithm design is important and learning how to program is more important than learning language syntax. However, as I alluded to in my previous post, nothing is purely black and white in practice.
I will agree with this guy, its not all about syntax and memorization. It's about understanding how to program properly!
Why is this such a mystery to you people!
Computer Science college programs fail again, such a disappointment.
Dr.House is offline  
Old 12-24-2008, 12:57 PM   #12 (permalink)
 
Newb Techie

Join Date: Dec 2008

Posts: 13

phpGuy is on a distinguished road

Default Re: Learning Java

Quote:
Originally Posted by Dr.House View Post
Computer Science college programs fail again, such a disappointment.
Why do you say Computer Science college programs fail?

You do realize that Computer Science isn't the study of programming don't you? Computer Science is the study of algorithm design and computer architectures. How does this fail in the eyes of learning how to program over learning language syntax?

Learning the best practices for a particular language is on the job training not something one should study in school.
phpGuy is offline  
Old 12-24-2008, 06:03 PM   #13 (permalink)
 

Join Date: Jul 2005

Location: England

Posts: 2,194

kmote has a spectacular aura aboutkmote has a spectacular aura about

Default Re: Learning Java

Quote:
Originally Posted by phpGuy View Post
Learning the best practices for a particular language is on the job training not something one should study in school.
That's a new one on me. I don't think many employers would be impressed if you turned up at the interview and told them that you don't know the language.
Knowing the syntax for the language is just as important as any other aspect. Not that I think a specific language should be studied in schools either (other than to the extent necessary to implement the theory students learn). Specific languages should be learned in spare time.
__________________
MSI P43 Neo|Enermax Pro82+ 425W|E5200|silent 8500GT|250GB Samsung spinpoint F1|Samsung SATA DVD RW|4GB Corsair|Antec SOLO|openSUSE11


There are in order of increasing severity: lies, darn lies, statistics, and computer benchmarks. - diskinfo man page
kmote is offline  
Old 12-24-2008, 07:15 PM   #14 (permalink)
Dr.House's Avatar
 
True Techie

Join Date: Dec 2008

Location: Rx Counter

Posts: 147

Dr.House is on a distinguished road

Send a message via AIM to Dr.House
Default Re: Learning Java

Quote:
Originally Posted by phpGuy View Post
Why do you say Computer Science college programs fail?

You do realize that Computer Science isn't the study of programming don't you? Computer Science is the study of algorithm design and computer architectures. How does this fail in the eyes of learning how to program over learning language syntax?

Learning the best practices for a particular language is on the job training not something one should study in school.
I am quite aware of what computer science is, I used to be a CS major. Unfortunately, even though I go to one of the highest regarded schools for technology degrees, our computer science program has maybe one or two classes in algorithm design, even those weren't completely algorithm focused and yes it should be. As for how to optimize one particular language, if you figure it out in one, you should be able to figure it out for any others you learn, you should get on the job and already be on par with at least some of the programmers (who don't suck), if you aren't you didn't work hard enough in college. (I was bored in CS, so I always did more work and side projects, so I know i would have accomplished that, if I hadn't been so bored and changed out)

If you can learn one language you can learn them all, they all have the same general things in their syntax, they just get put in differently, if you got one or two languages down, its time to learn to write in terms of good algorithms and efficiency, I know I took at least 2 classes in it in my program, I still would have liked to see more of them. So you should learn a high level (Java, Python), and a lower level(C is good, we learned assembly) and then move on from there in how to code well in both of them, if you can code well in both of those, the rest should be cake.

Just saying from my POV. I learned all that on my own(no job needed), I didn't need a CS major to learn that, just practice, so that's why I left, and I now teach kids in highschool how to do it too :-)

But like I said, this is my opinion, software used to be a big thing for me, Ive written online systems for school districts, before I ever went to college, they still use them to this day, but I digress...
__________________
Dr. House
--------------------------------------------------

Antec 900, P5K SE, E8400 "Wolfdale" 4.06GHz, Tuniq Tower, 4Gb GSkill DDR2 891, WD Caviar SE16 250, Radeon 4670 HD, WD Raptor WD1500ADFD (for sale, ~$900)
Thinkpad T61 CTO 2.2 Ghz Core 2 Duo, 2 gig, 100 gig 7200 RPM, 15.4" wide screen (for sale ~$800)
MacBook Pro C2D 2.2GHz 4 gig, 100 gig 7200 RPM
PowerBook G4 Aluminum

Last edited by Dr.House; 12-24-2008 at 07:24 PM.
Dr.House is offline  
Old 12-29-2008, 01:16 PM   #15 (permalink)
 
Newb Techie

Join Date: Dec 2008

Posts: 13

phpGuy is on a distinguished road

Default Re: Learning Java

[QUOTE=kmote;1541166]That's a new one on me. I don't think many employers would be impressed if you turned up at the interview and told them that you don't know the language.
Knowing the syntax for the language is just as important as any other aspect. Not that I think a specific language should be studied in schools either (other than to the =9999
phpGuy is offline  
Old 12-29-2008, 01:18 PM   #16 (permalink)
 
Newb Techie

Join Date: Dec 2008

Posts: 13

phpGuy is on a distinguished road

Default Re: Learning Java

Quote:
Originally Posted by kmote View Post
That's a new one on me. I don't think many employers would be impressed if you turned up at the interview and told them that you don't know the language.
Knowing the syntax for the language is just as important as any other aspect. Not that I think a specific language should be studied in schools either (other than to the extent necessary to implement the theory students learn). Specific languages should be learned in spare time.
If you are applying for a job the requires a specific language then yes you should spend some of your spare time learning the ins and outs of it. I never said you shouldn't I just said that is not what a computer science program should teach. Optimization is learned over time and changes when specifics of a language change. That is why I said it is on the job training. However I have a job in R&D where the language changes based on the project, and I can do it because my program didn't force any language syntax optimization to be learned. They taught us theory and design which is applicable to any language.
phpGuy is offline  
Old 12-29-2008, 01:32 PM   #17 (permalink)
 
Newb Techie

Join Date: Dec 2008

Posts: 13

phpGuy is on a distinguished road

Default Re: Learning Java

Quote:
Originally Posted by Dr.House View Post
I am quite aware of what computer science is, I used to be a CS major. Unfortunately, even though I go to one of the highest regarded schools for technology degrees, our computer science program has maybe one or two classes in algorithm design, even those weren't completely algorithm focused and yes it should be. As for how to optimize one particular language, if you figure it out in one, you should be able to figure it out for any others you learn, you should get on the job and already be on par with at least some of the programmers (who don't suck), if you aren't you didn't work hard enough in college. (I was bored in CS, so I always did more work and side projects, so I know i would have accomplished that, if I hadn't been so bored and changed out)
I agree with the fact that once you know one you know the rest. I was the original person that said that. That is how this argument started. I will agree that their are some optimizations that are not the same for every language that can make a huge difference. For instance, if you are using PHP you should set any variable, that is in scope but no longer in use, to a 0 or "" to save memory space. However, that is not necessary to do in JAVA because every variable is declared with a particular size so it doesn't make any difference if you leave the value in the variable. This was taught to me by another programmer on the job and I never realized I should do that even after 4 years in school and doing my own web side projects. It is only necessary to do that when you have a large system and since in my side projects I never had a large system it was never evident that that little change in code would make a difference.

Yes, I would be able to program things without my education but, I doubt they would be as efficient and optimized. Also, any information that is learned in school can be learned outside of it. The books you read in school are sold to the general public. I guess all of the country's psychology programs fail because you can learn all of that information without going to school, too.
phpGuy is offline  
 
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Java Problem s1nglef1sh Windows Operating Systems and Software 5 10-06-2008 05:10 PM
Need Java help CrazeD Programming Discussions 4 09-29-2008 06:29 PM
Updates for Java eliminate many security holes Trotter Browser & General Internet Questions 1 07-11-2008 09:54 PM
Dangerous Java Flaw Threatens Virtually Everything Osiris Virus - Spyware Protection / Detection 1 07-13-2007 04:44 PM
Java Game Yek Programming Discussions 5 06-16-2007 04:29 AM