View previous topic :: View next topic |
Author |
Message |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Fri Jun 29, 2012 8:28 pm Post subject: Which is programming language most perspective? |
|
|
Suddenly I've understood I want to become a programmer. Therefore I must choose a programming language. I know the Python and PHP on middle level, and also HTML, CSS and MySQL. But if I want be a PHP programmer I would must learn the JavaScript, but I a little affraid it.
So I think I would can learn the Java (core + j2ee or what?) because I see many vacancies for its programmers.
I need advices. |
|
Back to top |
|
 |
disi Veteran


Joined: 28 Nov 2003 Posts: 1354 Location: Out There ...
|
Posted: Fri Jun 29, 2012 9:00 pm Post subject: Re: Which is programming language most perspective? |
|
|
ultraincognito wrote: | Suddenly I've understood I want to become a programmer. Therefore I must choose a programming language. I know the Python and PHP on middle level, and also HTML, CSS and MySQL. But if I want be a PHP programmer I would must learn the JavaScript, but I a little affraid it.
So I think I would can learn the Java (core + j2ee or what?) because I see many vacancies for its programmers.
I need advices. |
Those job advertisements are usually written by HR
I am no programmer but PHP sounds like a nice way to get exposed to OOP. Once you know PHP, you can start writing servlets and learn about the JSP of Java to learn the fundamentals.
Then learn SE and look at advanced stuff like threads which are essential for EE (large scaled cluster systems).
HTML is a markup language (like TeX) not programming... _________________ Gentoo on Uptime Project - Larry is a cow |
|
Back to top |
|
 |
McGruff Tux's lil' helper


Joined: 28 Dec 2004 Posts: 148
|
Posted: Fri Jun 29, 2012 10:34 pm Post subject: |
|
|
The most important thing you need to learn in programming is not how to make computers do stuff. That's the easy bit. It's really all about writing code which people can read, and maintain, easily.
Good naming is a big part of that. OOP is important to break code down into discrete, manageable components rather than a big spaghetti mess, and unit/acceptance testing is essential to write and maintain good OOP code. This is what you should be learning. In which language, I wouldn't like to say.
For php, start here. |
|
Back to top |
|
 |
Mardok45 n00b


Joined: 21 Jun 2008 Posts: 66 Location: Right behind you
|
Posted: Fri Jun 29, 2012 10:37 pm Post subject: |
|
|
mcgruff wrote: | The most important thing you need to learn in programming is not how to make computers do stuff. That's the easy bit. It's really all about writing code which people can read, and maintain, easily. |
I was about to write a long-winded post, but this pretty much sums it up.
Just pick a language, ANY language, that is both modern and in wide use. |
|
Back to top |
|
 |
dmitchell Veteran


Joined: 17 May 2003 Posts: 1159 Location: Austin, Texas
|
Posted: Fri Jun 29, 2012 11:52 pm Post subject: |
|
|
Don't waste your brain on PHP. Try something like D or Eiffel or Haskell. Even modern C++ is OK. PHP will actually make you a worse programmer, as will Java. _________________ Your argument is invalid. |
|
Back to top |
|
 |
Dr.Willy Guru

Joined: 15 Jul 2007 Posts: 435 Location: NRW, Germany
|
|
Back to top |
|
 |
Mardok45 n00b


Joined: 21 Jun 2008 Posts: 66 Location: Right behind you
|
Posted: Sat Jun 30, 2012 12:36 am Post subject: |
|
|
dmitchell wrote: | Don't waste your brain on PHP. Try something like D or Eiffel or Haskell. Even modern C++ is OK. PHP will actually make you a worse programmer, as will Java. |
Languages don't make programmers worse programmers. Bad advice and refusal to improve your code makes you a worse programmer. |
|
Back to top |
|
 |
petrjanda Veteran


Joined: 05 Sep 2003 Posts: 1557 Location: Brno, Czech Republic
|
Posted: Sat Jun 30, 2012 1:46 am Post subject: |
|
|
Mardok45 wrote: |
Languages don't make programmers worse programmers.
|
Not if you are a seasoned programmer who's just learning another language. It's a completely separate issue to a non-programmer learning their first language. In which case the choice of 1st language is crucial. _________________ There is, a not-born, a not-become, a not-made, a not-compounded. If that unborn, not-become, not-made, not-compounded were not, there would be no escape from this here that is born, become, made and compounded. - Gautama Siddharta |
|
Back to top |
|
 |
Mardok45 n00b


Joined: 21 Jun 2008 Posts: 66 Location: Right behind you
|
Posted: Sat Jun 30, 2012 2:04 am Post subject: |
|
|
petrjanda wrote: | Not if you are a seasoned programmer who's just learning another language. It's a completely separate issue to a non-programmer learning their first language. In which case the choice of 1st language is crucial. |
If someone can't break their old programming habits, then they have no business writing software. The first language has no bearing on how they write software five to ten years later, it's whether or not programmers learn good practices for writing software.
What WILL make someone a bad programmer is not having a seasoned veteran looking at their code and telling them its crap. |
|
Back to top |
|
 |
pjp Administrator


Joined: 16 Apr 2002 Posts: 17132
|
Posted: Sat Jun 30, 2012 2:54 am Post subject: |
|
|
petrjanda wrote: | It's a completely separate issue to a non-programmer learning their first language. In which case the choice of 1st language is crucial. | But when learning, you are going to make mistakes. So other than "ease of learning," it wouldn't seem to matter too much in which language you make Learner's Mistakes? _________________ Bullied into silence. |
|
Back to top |
|
 |
Shadow Skill Veteran

Joined: 04 Dec 2004 Posts: 1023
|
Posted: Sat Jun 30, 2012 5:01 am Post subject: |
|
|
The first language does matter. People tend to get locked into paradigms without realizing it as such if starting from zero it is probably best to learn a language that is not overly restrictive when it comes to allowed programming style. From the OP it seems like ultraincognito already has some experience working with PHP and Python so I don't think this applies to him or her anyway.
Javascript most particularly the JQuery framework which you would almost certainly encounter when doing web development is like a broken version of Lisp. It might be helpful to learn some basics in a Lisp dialect and then take another look at JQuery/Javascript code and notice the similarities. Another possibility is to look at a language like Ruby which is syntactically much closer to pure Javascript or even PHP and notice that the following snippets are identical in action:
Ruby Code: | a=["A","B","C","D"]
a.each{|item|
puts item
} |
Jquery Code: | var a=["A","B","C","D"];
$.each(a,function(index,value){
console.log(value);
}); |
Both of these snippets use anonymous functions that print the value of the array. One is just much nicer and easier to understand than the other one. If you are evaluating a language in order to learn a new concept and multiple languages have the same concept pick the one that looks clearest to you. This is what I do when I need to learn something new in C# (Specifically Linq.) I usually look at some Ruby or even a Lisp (Often Clojure.) occasionally in order to see these other implementations and then look back at C# and go from there. I don't like Javascript either, but I wouldn't let that stop you from doing PHP if that is what you really want to do.
Also keep in mind that there is a difference between learning a language in order to learn a concept and learning a language that is marketable to employers that changes the kinds of things you should be learning. If I am reading your post right you already have some knowledge of PHP,Python and MySQL all of these are great languages to learn for professional development. Java is also an excellent choice. However if you are talking about learning various concepts Ruby, Clojure (Or any other Lisp.) are perhaps nicer/more fun choices than PHP, or Python. _________________ Ware wa mutekinari.
Wa ga kage waza ni kanau mono nashi.
Wa ga ichigeki wa mutekinari.
"First there was nothing, so the lord gave us light. There was still nothing, but at least you could see it." |
|
Back to top |
|
 |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Sat Jun 30, 2012 9:06 am Post subject: Re: Which is programming language most perspective? |
|
|
disi wrote: | Those job advertisements are usually written by HR
|
But they influence on taking decision of hiring.
disi wrote: | I am no programmer but PHP sounds like a nice way to get exposed to OOP. Once you know PHP, you can start writing servlets and learn about the JSP of Java to learn the fundamentals.
Then learn SE and look at advanced stuff like threads which are essential for EE (large scaled cluster systems).
|
All it is very good are you are right but now I haven't a lot of time. If I had had a lot of time I wouldn't have created this topic.
disi wrote: | HTML is a markup language (like TeX) not programming... |
Of course, I know.
mcgruff wrote: | Good naming is a big part of that. OOP is important to break code down into discrete, manageable components rather than a big spaghetti mess, and unit/acceptance testing is essential to write and maintain good OOP code. This is what you should be learning. In which language, I wouldn't like to say. |
Understood, I'll try to make convenient classes, but majority of the modern languages are object-oriented anyway.
dmitchell wrote: | Don't waste your brain on PHP. Try something like D or Eiffel or Haskell. Even modern C++ is OK. PHP will actually make you a worse programmer, as will Java. |
I don't see any vacancies for the D, Eiffel or Haskell programmers in my country at the popular recruitment sites.
Shadow Skill wrote: | Another possibility is to look at a language like Ruby which is syntactically much closer to pure Javascript or even PHP and notice that the following snippets are identical in action:
|
Yes, I noticed that the JS isn't very pretty.
In general I don't choose the PHP because it's used in web-servers only. So I think if I become a Java programmer then I'll be more universal. But I'm not sure that I'm right now.
Shadow Skill wrote: | This is what I do when I need to learn something new in C# |
There are many vacations for C# programmers but I don't choose it because it's a Microsoft's product. It scares me. |
|
Back to top |
|
 |
Dr.Willy Guru

Joined: 15 Jul 2007 Posts: 435 Location: NRW, Germany
|
Posted: Sat Jun 30, 2012 11:18 am Post subject: Re: Which is programming language most perspective? |
|
|
ultraincognito wrote: | So I think if I become a Java programmer then I'll be more universal. But I'm not sure that I'm right now. |
You are right. Java can get you a job anywhere in business middleware development, mobile devices (Android), Web dev and other "high level" programming.
Java will not get you into systems programming, drivers, base libraries and such. If you're interested in that go for C. |
|
Back to top |
|
 |
dmitchell Veteran


Joined: 17 May 2003 Posts: 1159 Location: Austin, Texas
|
Posted: Sat Jun 30, 2012 12:45 pm Post subject: Re: Which is programming language most perspective? |
|
|
ultraincognito wrote: | I don't see any vacancies for the D, Eiffel or Haskell programmers in my country at the popular recruitment sites. |
That's because there aren't any. If quickly finding a position is your priority -- and there is nothing wrong with that -- then reverse my advic and learn the shit out of Java. It isn't a good language, in my opinion, but there is no shortage of jobs available. _________________ Your argument is invalid. |
|
Back to top |
|
 |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Sat Jun 30, 2012 1:42 pm Post subject: Re: Which is programming language most perspective? |
|
|
dmitchell wrote: | It isn't a good language |
Why? Is the PHP better? |
|
Back to top |
|
 |
Dr.Willy Guru

Joined: 15 Jul 2007 Posts: 435 Location: NRW, Germany
|
Posted: Sat Jun 30, 2012 1:48 pm Post subject: |
|
|
No. |
|
Back to top |
|
 |
McGruff Tux's lil' helper


Joined: 28 Dec 2004 Posts: 148
|
Posted: Sat Jun 30, 2012 2:14 pm Post subject: |
|
|
Php is a first-choice language for web sites. |
|
Back to top |
|
 |
pjp Administrator


Joined: 16 Apr 2002 Posts: 17132
|
Posted: Sat Jun 30, 2012 3:44 pm Post subject: |
|
|
Shadow Skill wrote: | The first language does matter. People tend to get locked into paradigms without realizing it as such if starting from zero it is probably best to learn a language that is not overly restrictive when it comes to allowed programming style. [...]
However if you are talking about learning various concepts Ruby, Clojure (Or any other Lisp.) are perhaps nicer/more fun choices than PHP, or Python. | Ah, thanks. I understand what you're saying. I was thinking more from "goal" oriented learning. I want to learn "web programming" or "system programming" etc. I have noticed Python to be a bit difficult when most of my dabbling has been with Pascal, C, Perl & Ruby. _________________ Bullied into silence. |
|
Back to top |
|
 |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Sat Jun 30, 2012 5:35 pm Post subject: |
|
|
Okay, thank for the answers. I choose the Java. How do you think, must I start from learning the j2ee or the Android development? Or does other directions exist else? What is the most perspective or, even would be better, simplest for learning? |
|
Back to top |
|
 |
swirling_vortex n00b

Joined: 12 Jun 2007 Posts: 21
|
Posted: Sat Jun 30, 2012 11:18 pm Post subject: |
|
|
ultraincognito wrote: | Okay, thank for the answers. I choose the Java. How do you think, must I start from learning the j2ee or the Android development? Or does other directions exist else? What is the most perspective or, even would be better, simplest for learning? |
Android development is somewhat like Java (same syntax and such), but has its own custom libraries, which doesn't make it exactly the same. If this is your first language, I'd skip it for now.
J2EE (and JSPs and all of the other zillion Java frameworks that HR people want you to know) is something you'll deal with if you decide to pursue a career as a Java programmer, but again, don't look at that now.
The best thing to do is just install the Java JDK and start with the Getting Started tutorial: http://docs.oracle.com/javase/tutorial/. Seeing as how Java is so widely used, there's code snippets and tutorials galore. I would say though to avoid asking for help on the Oracle forums as the people there tend to just throw the documentation back at you when you ask a question. Start with CLI programs, be familiar with OOP principles (inheritance, polymorphism, and encapsulation), and work your way up from there. GUIs are easy. It's the fundamentals that take time.
Also, be aware that openjdk isn't always 100% compatible with Oracle's JDK. |
|
Back to top |
|
 |
Mardok45 n00b


Joined: 21 Jun 2008 Posts: 66 Location: Right behind you
|
Posted: Sun Jul 01, 2012 4:08 am Post subject: |
|
|
Android development might not be a bad idea for the sole purpose of seeing nice, pretty results from your hard work, rather than a bunch of text on a screen. It'll give yourself a lot more motivation to keep at it.
However, I wouldn't jump into that right away. Get familiar with the basic fundamentals first. |
|
Back to top |
|
 |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Sun Jul 01, 2012 8:44 am Post subject: |
|
|
I installed the dev-java/icedtea-bin, wrote the Helloworld.java, compiled it with the javac and executed in the linux console with the "java Helloworld" command.
All works fine but, may be, will it be better if I install anything from the Oracle site and the normal IDE for developing with the Java? |
|
Back to top |
|
 |
zixnub n00b


Joined: 27 Dec 2007 Posts: 67 Location: Brasschaat, Belgium
|
Posted: Sun Jul 01, 2012 9:26 am Post subject: |
|
|
ultraincognito wrote: | I installed the dev-java/icedtea-bin, wrote the Helloworld.java, compiled it with the javac and executed in the linux console with the "java Helloworld" command.
All works fine but, may be, will it be better if I install anything from the Oracle site and the normal IDE for developing with the Java? |
Get the eclipse java ide. Learn to work with it together with svn/git, maven, mockito and junit. Wrapping your head around what I just wrote will take you at least 2 years before you're any good. Since you have zero java experience, make that 5 years. At least.
gl & hf _________________ https://github.com/udevbe/greenfield
https://github.com/udevbe/westfield |
|
Back to top |
|
 |
disi Veteran


Joined: 28 Nov 2003 Posts: 1354 Location: Out There ...
|
Posted: Sun Jul 01, 2012 10:21 am Post subject: |
|
|
zixnub wrote: | ultraincognito wrote: | I installed the dev-java/icedtea-bin, wrote the Helloworld.java, compiled it with the javac and executed in the linux console with the "java Helloworld" command.
All works fine but, may be, will it be better if I install anything from the Oracle site and the normal IDE for developing with the Java? |
Get the eclipse java ide. Learn to work with it together with svn/git, maven, mockito and junit. Wrapping your head around what I just wrote will take you at least 2 years before you're any good. Since you have zero java experience, make that 5 years. At least.
gl & hf |
Yeah IDE wars
No, its just that I prefer Netbeans (sponsored by Oracle). Never did Java in Eclipse (then again I wouldn't call me a programmer), I once tried the TeX plugin but its not really good.
//edit: I did only ~6 month scripting and only ~1 year of Java at the University so far and feel like I know nothing about Java... this says it all  _________________ Gentoo on Uptime Project - Larry is a cow |
|
Back to top |
|
 |
ultraincognito Guru


Joined: 03 Jun 2011 Posts: 346 Location: Ukraine
|
Posted: Mon Jul 02, 2012 10:37 am Post subject: |
|
|
Learning the java, I haven't found how to import inside any class. Is it possible before first class only? In the Python it's possible in any swathe of code. Is the Python better that the Java?? |
|
Back to top |
|
 |
|