Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Which is programming language most perspective?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Off the Wall
View previous topic :: View next topic  
Author Message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Fri Jun 29, 2012 8:28 pm    Post subject: Which is programming language most perspective? Reply with quote

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
View user's profile Send private message
disi
Veteran
Veteran


Joined: 28 Nov 2003
Posts: 1354
Location: Out There ...

PostPosted: Fri Jun 29, 2012 9:00 pm    Post subject: Re: Which is programming language most perspective? Reply with quote

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 :D

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
View user's profile Send private message
McGruff
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 147

PostPosted: Fri Jun 29, 2012 10:34 pm    Post subject: Reply with quote

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
View user's profile Send private message
Mardok45
n00b
n00b


Joined: 21 Jun 2008
Posts: 64
Location: Right behind you

PostPosted: Fri Jun 29, 2012 10:37 pm    Post subject: Reply with quote

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
View user's profile Send private message
dmitchell
Veteran
Veteran


Joined: 17 May 2003
Posts: 1159
Location: Austin, Texas

PostPosted: Fri Jun 29, 2012 11:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
Dr.Willy
Guru
Guru


Joined: 15 Jul 2007
Posts: 352
Location: NRW, Germany

PostPosted: Sat Jun 30, 2012 12:06 am    Post subject: Reply with quote

http://www.tiobe.com/content/paperinfo/tpci/index.html
Enjoy
Back to top
View user's profile Send private message
Mardok45
n00b
n00b


Joined: 21 Jun 2008
Posts: 64
Location: Right behind you

PostPosted: Sat Jun 30, 2012 12:36 am    Post subject: Reply with quote

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
View user's profile Send private message
petrjanda
Veteran
Veteran


Joined: 05 Sep 2003
Posts: 1557
Location: Brno, Czech Republic

PostPosted: Sat Jun 30, 2012 1:46 am    Post subject: Reply with quote

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
View user's profile Send private message
Mardok45
n00b
n00b


Joined: 21 Jun 2008
Posts: 64
Location: Right behind you

PostPosted: Sat Jun 30, 2012 2:04 am    Post subject: Reply with quote

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
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 16117
Location: Colorado

PostPosted: Sat Jun 30, 2012 2:54 am    Post subject: Reply with quote

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?
_________________
lolgov. 'cause where we're going, you don't have civil liberties.

In Loving Memory
1787 - 2008
Back to top
View user's profile Send private message
Shadow Skill
Veteran
Veteran


Joined: 04 Dec 2004
Posts: 1023

PostPosted: Sat Jun 30, 2012 5:01 am    Post subject: Reply with quote

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
View user's profile Send private message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Sat Jun 30, 2012 9:06 am    Post subject: Re: Which is programming language most perspective? Reply with quote

disi wrote:
Those job advertisements are usually written by HR :D

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
View user's profile Send private message
Dr.Willy
Guru
Guru


Joined: 15 Jul 2007
Posts: 352
Location: NRW, Germany

PostPosted: Sat Jun 30, 2012 11:18 am    Post subject: Re: Which is programming language most perspective? Reply with quote

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
View user's profile Send private message
dmitchell
Veteran
Veteran


Joined: 17 May 2003
Posts: 1159
Location: Austin, Texas

PostPosted: Sat Jun 30, 2012 12:45 pm    Post subject: Re: Which is programming language most perspective? Reply with quote

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
View user's profile Send private message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Sat Jun 30, 2012 1:42 pm    Post subject: Re: Which is programming language most perspective? Reply with quote

dmitchell wrote:
It isn't a good language

Why? Is the PHP better?
Back to top
View user's profile Send private message
Dr.Willy
Guru
Guru


Joined: 15 Jul 2007
Posts: 352
Location: NRW, Germany

PostPosted: Sat Jun 30, 2012 1:48 pm    Post subject: Reply with quote

No.
Back to top
View user's profile Send private message
McGruff
Tux's lil' helper
Tux's lil' helper


Joined: 28 Dec 2004
Posts: 147

PostPosted: Sat Jun 30, 2012 2:14 pm    Post subject: Reply with quote

Php is a first-choice language for web sites.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 16117
Location: Colorado

PostPosted: Sat Jun 30, 2012 3:44 pm    Post subject: Reply with quote

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.
_________________
lolgov. 'cause where we're going, you don't have civil liberties.

In Loving Memory
1787 - 2008
Back to top
View user's profile Send private message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Sat Jun 30, 2012 5:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
swirling_vortex
n00b
n00b


Joined: 12 Jun 2007
Posts: 19

PostPosted: Sat Jun 30, 2012 11:18 pm    Post subject: Reply with quote

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
View user's profile Send private message
Mardok45
n00b
n00b


Joined: 21 Jun 2008
Posts: 64
Location: Right behind you

PostPosted: Sun Jul 01, 2012 4:08 am    Post subject: Reply with quote

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
View user's profile Send private message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Sun Jul 01, 2012 8:44 am    Post subject: Reply with quote

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
View user's profile Send private message
zixnub
n00b
n00b


Joined: 27 Dec 2007
Posts: 66
Location: Brasschaat, Belgium

PostPosted: Sun Jul 01, 2012 9:26 am    Post subject: Reply with quote

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/Zubnix/trinityshell
Back to top
View user's profile Send private message
disi
Veteran
Veteran


Joined: 28 Nov 2003
Posts: 1354
Location: Out There ...

PostPosted: Sun Jul 01, 2012 10:21 am    Post subject: Reply with quote

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 :D

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 :lol:
_________________
Gentoo on Uptime Project - Larry is a cow
Back to top
View user's profile Send private message
ultraincognito
Guru
Guru


Joined: 03 Jun 2011
Posts: 346
Location: Ukraine

PostPosted: Mon Jul 02, 2012 10:37 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Off the Wall All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum