LinuxQuestions.org
Support LQ: Use code LQ3 and save $3 on Domain Registration
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices

View Poll Results: Which direction?
awk 3 30.00%
bash 5 50.00%
sed 3 30.00%
perl 6 60.00%
Go back to java 2 20.00%
Multiple Choice Poll. Voters: 10. You may not vote on this poll

Reply
 
Search this Thread
Old 12-08-2012, 06:58 AM   #1
graphicsmanx1
Member
 
Registered: Oct 2012
Posts: 81

Rep: Reputation: Disabled
Which language to pursue?


Ive lately asked a lot of questions while trying to learn how to use Linux and have been given great options but it is overwhelming trying to learn awk, sed, bash, and perl. I do not want to burn out on coding. My main goal directive is to learn a language and apply it to my job and stay frequent in it. I did take a few classes and really learned java and vb that I thought about going back to just java. However, I've seen great potential with Linux Id like to learn more. So that being said what suggestion of language should I mainly focus on??


I do deal with xml files all day
Would like to build a web crawler one day for a personal project
I like modify images names
Move, rename and modify all other file types is fun
 
Old 12-08-2012, 07:12 AM   #2
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,535
Blog Entries: 1

Rep: Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999
Python:

- it can do system administration
- it has lots of libraries for web (eg. frameworks, web-scraping, etc) stuff.
- it has good xml support
- it has numerous image libraries
- it is commonly used (google, dropbox - Yes, I read yesterday's article about Guido's move)
 
Old 12-08-2012, 07:43 AM   #3
TobiSGD
Moderator
 
Registered: Dec 2009
Location: Hanover, Germany
Distribution: Gentoo
Posts: 15,411
Blog Entries: 2

Rep: Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995Reputation: 3995
awk, Bash and sed are more usual in system administration, for anything web related people tend to use one of the scripting languages (Python, Perl, Ruby), they fit much better to this purpose. Python is very simple to learn, with an easy syntax, while Perl can look somewhat weird. I do not have experience with Ruby, so I can't comment on that. All three are very extendable with literally hundreds of ready made modules.
Java is usually used for server side programming of bigger applications and sometimes on the desktop.
 
Old 12-08-2012, 07:54 AM   #4
graphicsmanx1
Member
 
Registered: Oct 2012
Posts: 81

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by TobiSGD View Post
awk, Bash and sed are more usual in system administration, for anything web related people tend to use one of the scripting languages (Python, Perl, Ruby), they fit much better to this purpose. Python is very simple to learn, with an easy syntax, while Perl can look somewhat weird. I do not have experience with Ruby, so I can't comment on that. All three are very extendable with literally hundreds of ready made modules.
Java is usually used for server side programming of bigger applications and sometimes on the desktop.
I did have some web applets I was challenged with completing is also another reason for java. I did use python for an intro programming course and enjoyed it. For some reason I really like making flowcharts in raptor.. I still dont know why?
 
Old 12-08-2012, 10:47 AM   #5
markush
Senior Member
 
Registered: Apr 2007
Location: Germany
Distribution: Slackware
Posts: 3,970

Rep: Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848
If you learn Perl you don't need awk. I love Perl for the culture behind it http://www.perlmonks.org/ and http://www.cpan.org/
Perl isn't as easy to learn as Python and Ruby. But you can learn Perl for years and will still learn new things.

Perl can be very expressive, it is very similar to human languages (Larry Wall, the inventor of Perl is a Linguist). Perl has a great community, I'd recommend to take a look at the newsgroup comp.lang.perl.misc

Markus
 
Old 12-08-2012, 11:30 AM   #6
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
Quote:
Originally Posted by sycamorex View Post
Python:

- it can do system administration
- it has lots of libraries for web (eg. frameworks, web-scraping, etc) stuff.
- it has good xml support
- it has numerous image libraries
- it is commonly used (google, dropbox - Yes, I read yesterday's article about Guido's move)
Let's have a look at Perl - at the moment: http://www.cpan.org/ : "115,765 Perl modules in 26,329 distributions, written by 10,241 authors".


As I wrote many times in this forum, from the point of view of language features Python is slowly catching up with Perl, but still lack lexical scoping, for example.

Also, new Python releases break code more frequently than new Perl ones. http://qa.perl.org/cpan-testers/ .
 
Old 12-08-2012, 11:34 AM   #7
dugan
Senior Member
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 4,562

Rep: Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394Reputation: 1394
Quote:
Originally Posted by sycamorex View Post
Python:

- it can do system administration
- it has lots of libraries for web (eg. frameworks, web-scraping, etc) stuff.
- it has good xml support
- it has numerous image libraries
- it is commonly used (google, dropbox - Yes, I read yesterday's article about Guido's move)
This.

Almost anything you can do in Java you can do better in Python.
 
Old 12-08-2012, 12:05 PM   #8
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,535
Blog Entries: 1

Rep: Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999Reputation: 999
To the OP:

As you can see, people tend to have different language preferences. The fact remains that you can't go wrong with either of the mentioned languages (be it Python or Perl). Just play with them and you'll decide for yourself.
 
Old 12-08-2012, 12:11 PM   #9
Habitual
Senior Member
 
Registered: Jan 2011
Distribution: Slack14_64_Multilib
Posts: 3,072
Blog Entries: 4

Rep: Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741Reputation: 741
Quote:
...Would like to build a web crawler one day for a personal project...
To that end:
100 Spidering hacks

Chapter 1. Walking Softly:

Hack 1. A Crash Course in Spidering and Scraping
Hack 2. Best Practices for You and Your Spider
Hack 3. Anatomy of an HTML Page
Hack 4. Registering Your Spider
Hack 5. Preempting Discovery
Hack 6. Keeping Your Spider Out of Sticky Situations
Hack 7. Finding the Patterns of Identifiers

Chapter 2. Assembling a Toolbox:

Perl Modules
Resources You May Find Helpful
Hack 8. Installing Perl Modules
Hack 9. Simply Fetching with LWP::Simple
Hack 10. More Involved Requests with LWP::UserAgent
Hack 11. Adding HTTP Headers to Your Request
Hack 12. Posting Form Data with LWP
Hack 13. Authentication, Cookies, and Proxies
Hack 14. Handling Relative and Absolute URLs
Hack 15. Secured Access and Browser Attributes
Hack 16. Respecting Your Scrapee's Bandwidth
Hack 17. Respecting robots.txt
Hack 18. Adding Progress Bars to Your Scripts
Hack 19. Scraping with HTML::TreeBuilder
Hack 20. Parsing with HTML::TokeParser
Hack 21. WWW::Mechanize 101
Hack 22. Scraping with WWW::Mechanize
Hack 23. In Praise of Regular Expressions
Hack 24. Painless RSS with Template::Extract
Hack 25. A Quick Introduction to XPath
Hack 26. Downloading with curl and wget
Hack 27. More Advanced wget Techniques
Hack 28. Using Pipes to Chain Commands
Hack 29. Running Multiple Utilities at Once
Hack 30. Utilizing the Web Scraping Proxy
Hack 31. Being Warned When Things Go Wrong
Hack 32. Being Adaptive to Site Redesigns

and 68 more instructive articles indexed at my site.

Have fun.
 
Old 12-08-2012, 02:02 PM   #10
NyteOwl
Member
 
Registered: Aug 2008
Location: Nova Scotia, Canada
Distribution: Slackware, OpenBSD, others periodically
Posts: 512

Rep: Reputation: 138Reputation: 138
You need another poll option: all of the above
 
Old 12-09-2012, 02:46 AM   #11
grail
Guru
 
Registered: Sep 2009
Location: Perth
Distribution: Manjaro
Posts: 7,428

Rep: Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876Reputation: 1876
+1 for Ruby
 
Old 12-09-2012, 06:22 AM   #12
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
To the OP - in order to kind of stay in Java world, but not at all with Java, but with JVM, consider Scala ( http://www.scala-lang.org/ ), Clojure ( https://en.wikipedia.org/wiki/Clojure ).

But JVM in general is not very good for functional languages - was designed with different goals in mind.
 
Old 12-09-2012, 06:47 AM   #13
markush
Senior Member
 
Registered: Apr 2007
Location: Germany
Distribution: Slackware
Posts: 3,970

Rep: Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848
Quote:
Originally Posted by Sergei Steshenko View Post
To the OP - in order to kind of stay in Java world, but not at all with Java, but with JVM, consider Scala ( http://www.scala-lang.org/ ), Clojure ( https://en.wikipedia.org/wiki/Clojure ).

But JVM in general is not very good for functional languages - was designed with different goals in mind.
I don't think that the OP wants to go for functional programming. And if he would, I would not recommend to use Clojure but Common Lisp. Lisp has a large community.

Otherwise one can do functional programming with Perl

Markus
 
Old 12-09-2012, 07:00 AM   #14
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
Quote:
Originally Posted by markush View Post
I don't think that the OP wants to go for functional programming. And if he would, I would not recommend to use Clojure but Common Lisp. Lisp has a large community.

Otherwise one can do functional programming with Perl

Markus
I meant a possibility to reuse existing in Java "infrastructure".
 
Old 12-09-2012, 07:03 AM   #15
markush
Senior Member
 
Registered: Apr 2007
Location: Germany
Distribution: Slackware
Posts: 3,970

Rep: Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848Reputation: 848
Quote:
Originally Posted by Sergei Steshenko View Post
I meant a possibility to reuse existing in Java "infrastructure".
Oh, I misread this, but you're right, since the OP comes from Java.

Markus
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Should I pursue a RHCE? gianh Linux - Certification 4 11-29-2010 03:03 AM
Is 27 too old to pursue a MS in Computer Science? ayush.27 General 18 11-14-2010 11:50 AM
Linux Newbie needs advice on which Cert to pursue danfall17 Linux - Certification 5 11-06-2010 02:10 PM


All times are GMT -5. The time now is 08:59 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration