Im wanting to learn a new type of scripting
the-keeper
New Zealand
Im wanting to learn a new type of scripting other than batch, so was wondering what would be an easy language to learn but not overly limmited, which is probably a dumb thing to say . ive been sujested to learn a 'c' but i would like to know what each language that is sudjested to me is used for too =P
thanks guys
thanks guys
0
This discussion has been closed.
Comments
Python
Ruby
All 3 are useful from a command line and are also used to build modern web application in many cases (django/rails/etc). Python/Ruby also have Object Oriented capabilities (which is where these languages are more in depth than bash), and Perl will get OO in the newest release I believe.
What are you ultimate goals? To just learn some cool new shit, or learn something that will further a career or career options? What sort of things do you want to build with this new language?
Also which is easier, python or ruby?
im not wanting to opt to the easy way out but i also dont wana throw myself in too deep.
and finally where do i start with each type of scripting, and what kinda scripts should i try to create to get me on my way.
If you want to learn a language that's going to let you work with the maximum number of popular web apps (like Wordpress & vBulletin, which power this site) I'd go with PHP.
Sites & software running on PHP: Facebook, Wikipedia, Digg, Joomla, WordPress, Drupal, and just about any popular forum software you can name. It's ubiquitous and making great strides with every release.
Also, now that I think about it, what you're looking for keeper isn't confined to just scripting languages. What you should be looking for is a fundamental knowledge of programming concepts, which these days most any language will support. Therefore, the language you pick really doesn't matter, what matters is that you find some sort of online tutorial or book that can explain the concepts in an easy to understand way. For example, if you were to start with Ruby I would suggest this book.
Once you have a solid grasp of the basic concepts of programming, that knowledge will translate to other languages without much trouble as it's mostly just learning new syntax.
I think prag was talking the opposite of that... namely using a scripting language to simplify the day-to-day operations on the command line, instead of scripting a web interface to the command line :P
Aside on what we were doing: co-worker wrote a bash script to deploy a new dev subdomain and I challenged him to have it send the team a confirmation email too which I believe he accomplished by throwing a PHP script in the mix.
1. Look at who's hiring for what. For example, f you want to work for Google, better learn Python. If you want to work with Facebook, it's PHP.
2. What language has the resources you need to learn it (books, tutorial sites, references, people you can ask questions to).
3. What language can run in the server environment you want? PHP and Perl have had the edge historically, but Python and Ruby have made inroads here.
4. What sort of programming do you want to do? If you're building custom websites, probably PHP. If you're managing a lot of internal systems, probably Perl. If you need to build web apps rapidly, probably Ruby on Rails. Each has its own strengths and weaknesses, so look at what you want to do.
5. At some point, you'll be looking at frameworks. Which language has the frameworks that are going to let you work the way you want to? (e.g. Ruby has Rails, PHP has Cake & CodeIgniter). http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks#PHP
I'd just pick a high level language, learn it, and try to do things that interest you with it.
But really and truely my thoughts on what kind of programming i want to do are still very broad. i guess ill have a look at python, ruby and php and get back to u guys for further help.
Now then, that all said, let me break down the common uses of scripting vs. programming as best I can.
Scripting
* Bash, PHP, Perl, Ruby, Python, etc.
* Often used to build websites (as Lincoln mentioned)
* Also often used to simplify tedious command line tasks
* Scripts are usually shorter and more straightforward than full-fledged programs
* Can be described as "programming within a program". That is, you write a script, but another program reads, interprets and executes that script at run-time. This is somewhat inefficient (though the power of modern computers makes this less of a drawback)
Programming
* Java, C/C++, D, etc.
* Generally more complex than scripting
* Most desktop applications (including games) are written in a programming language, not a scripting language, mostly for the sake of efficiency.
* Programs are not interpreted. They are written and compiled directly into machine language (the exception to this rule being Java, which is still interpreted but must be compiled as well. That's a more complex case and far beyond my time to explain here).
This is, of course, grossly oversimplified. The reason for this is mostly the fact that I don't have the time or desire to rehash a topic that has been extensively covered already. If you really want to get in depth on the difference between scripting and programming, just use the Google. It can guide you to far more detailed information than I can dredge out of my brain. Same goes for game programming, some Googling will yield you more results than we can give you.
A second suggestion is to keep learning the English language. I'm no expert with English. I screw it up all the time. However, it would be healthy to get in the habit of simply trying to use proper grammar and spelling at all times.