Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Recommended Scripting Language?
New Posts  All Forums:Forum Nav:

Recommended Scripting Language? - Page 2

post #11 of 32
Quote:
Originally Posted by poroboszcz View Post

One argument for using Python is its wide range of applications. You can use Python for pretty much anything from writing simple "do something with all files in the directory" scripts to GUI front-ends, webdev, gamedev, GPGPU, HPC, scientific apps and more.

You can compile Python to C or C++ for near-native performance and many available modules already use C/C++ so they are pretty fast. Also most popular libraries come with a Python API and a lot of applications provide Python scripting interface. In that regard Python definitely comes out on top, compared to the other options you've mentioned. I can't exactly comment on how useful it's going to be in your particular field, but overall it's a great tool to have in your arsenal.

To be honest the same arguments could be made for nearly all the languages mentioned in this thread - including some languages he can already program in.

I think the only practical reason to code in Python over Ruby or Perl would be because you like the syntax of Python. Some people do, some don't.
post #12 of 32
Quote:
Originally Posted by Plan9 View Post

To be honest the same arguments could be made for nearly all the languages mentioned in this thread - including some languages he can already program in.

I think the only practical reason to code in Python over Ruby or Perl would be because you like the syntax of Python. Some people do, some don't.

So how many desktop applications do you know that were written in Ruby? How many games using Tcl? Any notable apps that provide scripting interface for Groovy? Any good GUI frameworks for perl? And I'm not asking about "Hey, I made it work!" type of solutions, but popular and well established software.

Python is clearly the winner when it comes to the number of fields of programming it's currently being used in, and it's easy to verify. Go to any large IT jobs board and type in each of the languages as a keyword. Python and Ruby will most likely come up on top, with 90% of Ruby jobs being webdev, while Python jobs will range from embedded systems to 3D graphics. I'm not saying that OP should choose Python because of that, but it's something to consider.

Also choosing a programming language based just on its syntax is kind of like choosing a hammer over a screwdriver, based on its colour.
buka
(17 items)
 
  
Reply
buka
(17 items)
 
  
Reply
post #13 of 32
Quote:
Originally Posted by poroboszcz View Post

So how many desktop applications do you know that were written in Ruby?
A few, actually.
Quote:
Originally Posted by poroboszcz View Post

How many games using Tcl?
"To be honest the same arguments could be made for nearly all the languages mentioned"
Quote:
Originally Posted by poroboszcz View Post

Any good GUI frameworks for perl?
Yes
Quote:
Originally Posted by poroboszcz View Post

Python is clearly the winner when it comes to the number of fields of programming
The only thing that's clear here is that you're a fanboy. tongue.gif Python has plenty of issues too, but you're neglecting to mention any of them.
Quote:
Originally Posted by poroboszcz View Post

Go to any large IT jobs board and type in each of the languages as a keyword. Python and Ruby will most likely come up on top, with 90% of Ruby jobs being webdev, while Python jobs will range from embedded systems to 3D graphics. I'm not saying that OP should choose Python because of that, but it's something to consider.
Maybe where you live but that's not so much the case here; most programming jobs here are for C#, C++ and PHP (yuk).

And for what it's worth, I've been working in IT years and have written applications in more than a dozen languages. I'm yet to write anything in Python aside for personal projects.

So while I'm not disputing that there are plenty of jobs out there for Python, it's not the be-all and end-all that you claim.
Quote:
Originally Posted by poroboszcz View Post

Also choosing a programming language based just on its syntax is kind of like choosing a hammer over a screwdriver, based on its colour.
Not really. It's like choosing to write an essay in English or German based on what you're you're most productive in and most likely to be able to read back in 2 years time.

In realistic terms, there isn't that much to separate most languages these days - it's really just a preference thing at the end of the day and syntax is as critical to forming the preference as anything else.
Edited by Plan9 - 3/16/14 at 3:04pm
post #14 of 32
Quote:
Originally Posted by Plan9 View Post

Sorry but that's complete and utter elitist hogwash.

Comparing Erlang and Go is like comparing apples to oranges. They're entirely different paradigms. And Go does prevent race conditions better than any other imperative language via channels. But obviously it's still possible to write c rap code in Go just as it is possible to write crap code in Erlang.

I hear people bleet on about on about concurrency in Erlang and that's great if you want a functional language, but if you prefer the imperative paradigm (as most people do) then the Erlang is completely the wrong tool.

If you are using an imperative language when a functional language offers better or more efficient solutions, you are forcing the paradigm to fit the language rather than choosing the language and paradigm that best fits the problem.

Erlang guarantees data safety while go does not. Any time information writing is shared, there is the possibility of race conditions; the fact that go forces you to manage this means you must still account for a lot of state and greatly increases the surface area for bugs. While erlang is primarily functional, it is not completely functional (and go is not without first class functions either).

This said, functional languages (eg. Haskell) have immutable state and functional determinism which are both superior to imperative language approaches for dealing with concurrency. The language I recommended he watch (rust) is imperative, but has the erlang actor model (and that would interestingly make rust better than go at handling race conditions), so it should be apparent I didn't make my suggestion based on functional vs imperative.
Quote:
Originally Posted by poroboszcz View Post

So how many desktop applications do you know that were written in Ruby? How many games using Tcl? Any notable apps that provide scripting interface for Groovy? Any good GUI frameworks for perl? And I'm not asking about "Hey, I made it work!" type of solutions, but popular and well established software.

Python is clearly the winner when it comes to the number of fields of programming it's currently being used in, and it's easy to verify. Go to any large IT jobs board and type in each of the languages as a keyword. Python and Ruby will most likely come up on top, with 90% of Ruby jobs being webdev, while Python jobs will range from embedded systems to 3D graphics. I'm not saying that OP should choose Python because of that, but it's something to consider.

Also choosing a programming language based just on its syntax is kind of like choosing a hammer over a screwdriver, based on its colour.
By that logic, we should be using a lot more COBOL as there are billions of lines of the stuff still in use (so much in fact, that several universities are starting to teach it again). Popularity begets popularity, but that has nothing to do with qualifications of the language
Edited by hajile - 3/16/14 at 3:21pm
post #15 of 32
Quote:
Originally Posted by hajile View Post

If you are using an imperative language when a functional language offers better or more efficient solutions, you are forcing the paradigm to fit the language rather than choosing the language and paradigm that best fits the problem.
In that case we should all just write code in assembly

There's so much elitism in this thread it's unreal. rolleyes.gif
Quote:
Originally Posted by hajile View Post

The language I recommended he watch (rust) is imperative, but has the erlang actor model (and that would interestingly make rust better than go at handling race conditions), so it should be apparent I didn't make my suggestion based on functional vs imperative.
You've not written a single line of code in either Go nor Rust yet you're making absolute statements about which is better. This is just absurd. Honestly, if you cannot write thread safe code in Go then you clearly shouldn't be writing concurrent code in any language because you're clearly not up to scratch as a developer.

This thread is just bonkers - it's basically just people listing off whatever is in favour with "the internet hype machine". I've been language hopping for 3 decades and it never ceases to amaze me the elitism people have towards something that usually comes down to little more than personal preference. Granted some languages do lend themselves to some tasks better than some other languages; but the real power of a language is 100% down to the developer using it. But who cares about teaching good programming practices these days when we can instead beat each other over the head with our favourite abstractions of machine code instead (I suppose the next question which needs to be answered in this thread is vi or emacs tongue.gif )
Edited by Plan9 - 3/16/14 at 3:46pm
post #16 of 32
Quote:
Originally Posted by Plan9 View Post

A few, actually.
"To be honest the same arguments could be made for nearly all the languages mentioned"
Yes
The only thing that's clear here is that you're a fanboy. tongue.gif Python has plenty of issues too, but you're neglecting to mention any of them.
Maybe where you live but that's not so much the case here; most programming jobs here are for C#, C++ and PHP (yuk).

And for what it's worth, I've been working in IT years and have written applications in more than a dozen languages. I'm yet to write anything in Python aside for personal projects.

So while I'm not disputing that there are plenty of jobs out there for Python, it's not the be-all and end-all that you claim.
Not really. It's like choosing to write an essay in English or German based on what you're you're most productive in and most likely to be able to read back in 2 years time.

In realistic terms, there isn't that much to separate most languages these days - it's really just a preference thing at the end of the day and syntax is as critical to forming the preference as anything else.

Perhaps if you write "Hello World" in 15 languages you won't notice much of a difference between them besides the syntax, but believe me that there are more important concerns when choosing a language for particular project then whether or not it uses curly brackets or semicolons.

Since you seem to be having some basic reading comprehension problems I'll try to rephrase what I said. I provided a job board example to show that compared to Ruby, Tcl and Groovy, Python has a broader array of applications. You somehow interpreted this as "In your area what is the most popular language, including those we're not even discussing?". This is really not what I was trying to say. Nowhere have I also stated that Python is better in some way than any of the other languages, only, that it's more widely used.

Let me give you another example, perhaps easier for you to understand. Here's a list of some more popular software using Python: http://en.wikipedia.org/wiki/List_of_Python_software You can see that it is quite large and spans across many different application domains. I use it to show, once again, that Python can be applied in many different fields. I think it is a valid point to consider when choosing a language: what can you use it for, and what is its track record of successful projects in different application domains.

You can obviously disagree, and, logically, you have two ways of proving me wrong. You could somehow show that when choosing a programming language it is unimportant to look at possible applications of the language, existing codebase and available libraries (we already know that for you syntax is the deciding factor). Or you could simply provide a bigger list for any of the other three languages we're discussing (I remind that's Ruby, Tcl and Groovy) that shows that any of them has a bigger portfolio of applications in different and distinct fields.

Please note that calling me a fanboy (I actually barely use Python nowadays), as well as using caps or somehow trying to discredit this thread as a whole will not help you make your point.
Quote:
Originally Posted by hajile View Post

By that logic, we should be using a lot more COBOL as there are billions of lines of the stuff still in use (so much in fact, that several universities are starting to teach it again). Popularity begets popularity, but that has nothing to do with qualifications of the language

Not quite. Saying that there's a lot of code written in some language is not exactly the same as saying that a language can be and is being used for many different purposes.
Edited by poroboszcz - 3/16/14 at 6:29pm
buka
(17 items)
 
  
Reply
buka
(17 items)
 
  
Reply
post #17 of 32
Thread Starter 
Thanks guys but let's not too crazy. Languages are just tools and each have their specialty.

Note that my main focus is recommended scripting language for networking, reporting, and SA type of work. I plan to be working in an enterprise environment where everything must work is absolutely critical.

I have Perl and ks/bsh/DOS scripting in my arsenal already. For my needs, do I even need another language? If so, Python or Ruby at this point? (Go or Erlang are other considerations at this point as well.)

Quote:
Originally Posted by poroboszcz View Post

Let me give you another example, perhaps easier for you to understand. Here's a list of some more popular software using Python: http://en.wikipedia.org/wiki/List_of_Python_software You can see that it is quite large and spans across many different application domains. I use it to show, once again, that Python can be applied in many different fields. I think it is a valid point to consider when choosing a language: what can you use it for, and what is its track record of successful projects in different application domains.
To be honest, that is quite a weak argument for your case. The number of C++ and even Java vastly outnumber Python. Both the scope of C++ and Java also probably span wider than Python as well. An online list does not mean much it does not include inhouse software.
Edited by DuckieHo - 3/16/14 at 9:00pm
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
post #18 of 32
Quote:
Originally Posted by poroboszcz View Post

Perhaps if you write "Hello World" in 15 languages you won't notice much of a difference between them besides the syntax, but believe me that there are more important concerns when choosing a language for particular project then whether or not it uses curly brackets or semicolons.

Since you seem to be having some basic reading comprehension problems I'll try to rephrase what I said. I provided a job board example to show that compared to Ruby, Tcl and Groovy, Python has a broader array of applications. You somehow interpreted this as "In your area what is the most popular language, including those we're not even discussing?". This is really not what I was trying to say. Nowhere have I also stated that Python is better in some way than any of the other languages, only, that it's more widely used.

Let me give you another example, perhaps easier for you to understand. Here's a list of some more popular software using Python: http://en.wikipedia.org/wiki/List_of_Python_software You can see that it is quite large and spans across many different application domains. I use it to show, once again, that Python can be applied in many different fields. I think it is a valid point to consider when choosing a language: what can you use it for, and what is its track record of successful projects in different application domains.

You can obviously disagree, and, logically, you have two ways of proving me wrong. You could somehow show that when choosing a programming language it is unimportant to look at possible applications of the language, existing codebase and available libraries (we already know that for you syntax is the deciding factor). Or you could simply provide a bigger list for any of the other three languages we're discussing (I remind that's Ruby, Tcl and Groovy) that shows that any of them has a bigger portfolio of applications in different and distinct fields.

Please note that calling me a fanboy (I actually barely use Python nowadays), as well as using caps or somehow trying to discredit this thread as a whole will not help you make your point.
Not quite. Saying that there's a lot of code written in some language is not exactly the same as saying that a language can be and is being used for many different purposes.
As I said before, these days I mostly write software for servers. I'm painfully aware about the need to write performance code and stable code. So don't give me this crap about how you write more complex software than anyone else on this forum.

If you think you couldn't write the same software in half a dozen different languages then I really question just how familiar you are with other languages; or even how competent you are as a programmer since you seem to think you couldn't leverage other languages in the same way. Take your list for example, every single application on there has competing software written in other languages.

To say "only Python covers those / all bases" is just elitist nonsense.
Edited by Plan9 - 3/17/14 at 1:52am
post #19 of 32
Quote:
Originally Posted by DuckieHo View Post

Thanks guys but let's not too crazy. Languages are just tools and each have their specialty.

Note that my main focus is recommended scripting language for networking, reporting, and SA type of work. I plan to be working in an enterprise environment where everything must work is absolutely critical.

I have Perl and ks/bsh/DOS scripting in my arsenal already. For my needs, do I even need another language? If so, Python or Ruby at this point? (Go or Erlang are other considerations at this point as well.)
To be honest, that is quite a weak argument for your case. The number of C++ and even Java vastly outnumber Python. Both the scope of C++ and Java also probably span wider than Python as well. An online list does not mean much it does not include inhouse software.

I can't see the point of learning Pythin given you already have Perl in your arsenal. Maybe learn something that's a shiftaway from your typical scripting language instead.

Erlang is quite a bit different so you'll likely find you'll gain more experience points from it. But Go you could master in a month. So it's really me a question of whatyou want to gain from the process.

How is your C/C++? If you're working a lot in servers then having a basic level of C++ can be quite handy for the rare occasions you run into issues compiling software from source. But you may not run into such issues if your place mainly pulls from repos and seldom used mire obscure daemons. Java is also handy as it's used heavily both on enterprise systems and consumer electronics (as you're already aware).

It really just depends on what you're aiming to gainfrom the experience.
post #20 of 32
Thread Starter 
Quote:
Originally Posted by Plan9 View Post

I can't see the point of learning Pythin given you already have Perl in your arsenal. Maybe learn something that's a shiftaway from your typical scripting language instead.

Erlang is quite a bit different so you'll likely find you'll gain more experience points from it. But Go you could master in a month. So it's really me a question of whatyou want to gain from the process.

How is your C/C++? If you're working a lot in servers then having a basic level of C++ can be quite handy for the rare occasions you run into issues compiling software from source. But you may not run into such issues if your place mainly pulls from repos and seldom used mire obscure daemons. Java is also handy as it's used heavily both on enterprise systems and consumer electronics (as you're already aware).

It really just depends on what you're aiming to gainfrom the experience.
I know Perl because I had to use it.... but I really dislike mainly because of: TIMTOWTDIBSCINABTE. There has been little style enforcement where I work today so I am jaded by Perl due to how much bad and obfuscated code I had to work with. The Perl code I had inherited was written by quantitative analysts.... multiple PhDs and the ability to write code does not make you a programmer....

My C/C++ is rusty but I always like it due to low-level access. My hopefully new job will include supporting older financial software.... which probably means it is terribly written.

Basically, I can pickup languages and I really wanted to know if I should start expanding my toolset.... if so, which language would be best to sink time into. Besides, developers all know that languages are just tools. Knowing what and how are more important!
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
Once again...
(13 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 [4.28GHz, HT] Asus P6T + Broadcom NetXtreme II VisionTek HD5850 [900/1200] + Galaxy GT240 2x4GB G.Skill Ripjaw X [1632 MHz] 
Hard DriveOSMonitorKeyboard
Intel X25-M 160GB + 3xRAID0 500GB 7200.12 Window 7 Pro 64 Acer H243H + Samsung 226BW XARMOR-U9BL  
PowerCaseMouseMouse Pad
Antec Truepower New 750W Li Lian PC-V2100 [10x120mm fans] Logitech G9 X-Trac Pro 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Coding and Programming
Overclock.net › Forums › Software, Programming and Coding › Coding and Programming › Recommended Scripting Language?