f13.net

f13.net General Forums => General Discussion => Topic started by: Ratman_tf on December 19, 2012, 03:23:35 PM



Title: Scripting, where do I start?
Post by: Ratman_tf on December 19, 2012, 03:23:35 PM
I've done software testing for a long time, but I've only done black box stuff. Console and PC games. Grunt testing.
So where do I begin to learn scripting? What is useful when applying for software test positions? It came up in a phone call today about a job position, and I had to hem and haw. I don't like to hem and haw. I want to say "Yeah, I can do that!"


Title: Re: Scripting, where do I start?
Post by: Lantyssa on December 19, 2012, 04:08:23 PM
What kind of scripting?  There's as many or more scripting languages as there are programming languages.


Title: Re: Scripting, where do I start?
Post by: cironian on December 19, 2012, 04:23:14 PM
Last I checked, Lua was still in fashion for game scripting, but for any programming topic it's more important that you know how to do stuff at all, rather than knowing one specific language. Languages are relatively fast to pick up once you have wrapped your mind around coding concepts in general. So learn something, anything, fun. And may god have mercy on your soul. :why_so_serious:


Title: Re: Scripting, where do I start?
Post by: Ratman_tf on December 19, 2012, 04:26:15 PM
Last I checked, Lua was still in fashion for game scripting, but for any programming topic it's more important that you know how to do stuff at all, rather than knowing one specific language. Languages are relatively fast to pick up once you have wrapped your mind around coding concepts in general. So learn something, anything, fun. And may god have mercy on your soul. :why_so_serious:

I wrote some programs in VB6, and a hello world in Visual C many years ago.  :grin: Is VBScript a good place to start?


Title: Re: Scripting, where do I start?
Post by: Ghambit on December 19, 2012, 05:00:42 PM
Go learn C#/XNA and then pick a nice level editor to fuck around in.  Unity or UDK.  ~fin

edit: if you're aware of a company's needs then obviously you can go learn whatever scripting language they're using... javascript, lua, herowhatever, etc.  They're all different but all reliant on core OOP principles.  And eventually you'll want custom scripts, which will require you to code.




Title: Re: Scripting, where do I start?
Post by: Quinton on December 19, 2012, 05:09:06 PM
Yeah, it depends entirely what sort of scripting you're talking about -- for the kind of work I do (systems/os/etc), in the context of testing scripting often means python to drive test automation, but for gamesdev in-engine stuff you may be looking at lua or c# or whatnot.  At the end of the day basic programming skills translate pretty quickly from one language to the next -- finding something that you're interested in hacking on and getting comfortable doing some simple coding is a good start.  Best way to learn to code is to write code and the best way to stay engaged is to write code in some area that you have interest in.


Title: Re: Scripting, where do I start?
Post by: Tarami on December 19, 2012, 05:44:23 PM
Do you still play WoW? It uses Lua for interface addons. Seems like a decent place to start, since you can fiddle with a popular scripting language in the environment of an external application (the WoW client). I think especially the latter might be valuable in a job interview, since scripting languages in themselves are not that useful. They're always incorporated into a larger application, in your case something like a test suite. The scripting is generally just a way to separate out bits of logic that have to be easy to change.

Plus, you can download some very small add-on look at how it's written, change it around a bit, then work your way up the food chain as you get more comfortable.


Title: Re: Scripting, where do I start?
Post by: Ratman_tf on December 19, 2012, 05:51:26 PM
Do you still play WoW? It uses Lua for interface addons. Seems like a decent place to start, since you can fiddle with a popular scripting language in the environment of an external application (the WoW client). I think especially the latter might be valuable in a job interview, since scripting languages in themselves are not that useful. They're always incorporated into a larger application, in your case something like a test suite. The scripting is generally just a way to separate out bits of logic that have to be easy to change.

Plus, you can download some very small add-on look at how it's written, change it around a bit, then work your way up the food chain as you get more comfortable.

That sounds accessible.


Title: Re: Scripting, where do I start?
Post by: Krakrok on December 19, 2012, 05:57:58 PM
Go with Adobe Flash. ActionScript 2 and 3 to be more precise. The syntax is almost the same as Javascript so you're basically learning two languages at the same time. Also Lynda.com videos.


Title: Re: Scripting, where do I start?
Post by: Samwise on December 19, 2012, 06:21:54 PM
The vast majority of scripts I write (and, more importantly, the scripts I dearly wish more of my coworkers were capable of writing on their own) pretty much boil down to getting text from console apps, doing stuff with the text, and spitting out other text.  Any "basic scripting for dummies" tutorial for any language should cover this sort of thing -- reading from a file, using regexes to extract bits of data you want, using arrays to organize and sort that data, etc.



Title: Re: Scripting, where do I start?
Post by: Zetor on December 19, 2012, 10:25:01 PM
Yea, pretty much what Quinton said. Lua might be ok if you're strictly planning to test games with a scripting engine, but if you're planning to use a software testing harness/framework, almost all of the good ones are written in Python.

My company does software/hardware security testing among other things, and it's pretty much All Python, All The Time. (ok, the fuzz testing engine is written in C++ -- but testers don't need to worry about that)


Title: Re: Scripting, where do I start?
Post by: craan on December 19, 2012, 10:35:06 PM
Shell scripting is a fun place to start if you have access to a *nix environment.  You can practice retrieving stuff from the console, etc etc as Samwise mentioned.  

Perl is really powerful and fun.  Very glue-like in being able to tie systems and processes together.  I think Larry Wall described it once as 'awk on steroids'.  But beware...the perl script you write today will likely be incomprehensible to you a week later.

Python has a lot of use as a scripting language and its pretty painless to learn and get into the swing of things.

Whatever you choose the main thing is having an idea of what needs to be done, as someone already mentioned.  So if you have the time I would recommend thinking something like 'Ok,   I want to be emailed when there is a process on the server that hits 90% memory usage so I can be the first to know of a problem'.  So with a scenario like that you'll be exposed to quite a bit of versatile scripting.  And if you have even more time I would recommend writing this same project in a few scripting languages to contrast and compare and get a taste of which one appeals to you.





Title: Re: Scripting, where do I start?
Post by: proudft on December 19, 2012, 10:49:24 PM
Put me in as an anti-vote for Actionscript.   I found it absolutely horrendous as far as silently executing without telling you what has gone awry and I imagine that would make using it as a learning tool quite frustrating.  

I don't have a pro- vote for anything, unfortunately.    Python seems pretty straightforward, though I've only puttered a bit with it.  It is certainly popular enough to be useful to learn for resume purposes.



Title: Re: Scripting, where do I start?
Post by: Trippy on December 20, 2012, 12:55:05 AM
Some recommendations:

* Dig up as many job descriptions as you can find for "white box" or non-"black box" game testers and see what programming skills are commonly required.

* Learn the fundamentals of procedural programming. Learning to write WoW Lua add-ons would be one way, as other people have mentioned, though that style isn't quite how you would normally write test scripts as WoW add-ons are usually event driven so the code flow is different than a program with a single entry point. Java is the standard teaching language these days in CS classes if you want to go that route and you can use it to learn object oriented programming after you learn the basics of procedural non-OO programming

* Learn a "glue" scripting language, preferably on a Unix platform. These languages are very good at processing strings and text files and interfacing with other programs and services (like HTTP APIs). These include languages like Perl, Python, and Ruby. A lot of white box testing requires coding in the language the game engine(s) uses itself like C++ but there are other types testing that work at a higher level like integration testing (testing that separate systems are talking to each other properly) where writing the tests in a glue language is often the way to go. My preferred glue language these days is Ruby but Python is a fine choice. I would avoid Perl unless you see it as a common requirement for the types of jobs you are interested in moving up to.

* If the job requirements require writing Windows automation scripts you may have to learn VBScript which would be...unfortunate...but I would still try and learn a real language (read: something with a C-like syntax) first.

* The scripting language du jour is JavaScript but that's not likely to be commonly used to gaming testing unless you are testing Web pages which often include JavaScript in them so I wouldn't recommend that as the first language you try and learn.


Title: Re: Scripting, where do I start?
Post by: Salamok on December 20, 2012, 07:09:52 AM
If you adhere to the philosophy that your mind is shaped by the tools you use then I would suggest python.


Title: Re: Scripting, where do I start?
Post by: Baldrake on December 20, 2012, 07:51:13 AM
If it's for test automation, pick up Perl.

If it's for fun, do JavaScript in Unity.


Title: Re: Scripting, where do I start?
Post by: cmlancas on December 20, 2012, 08:07:26 AM
Python/Ruby, JavaScript, jQuery.

Lua to do fun things.

The only objections I have are AS2/AS3.  Waste of time with HTML5 and goddamn they have funky libraries.


Title: Re: Scripting, where do I start?
Post by: Quinton on December 20, 2012, 08:10:46 AM
I'd advise against starting with perl unless you know there's a specific need for it, especially if a side-goal is to learn some general programming skills.   perl is pretty strange, punctuation-heavy, beginner-unfriendly, and probably has the least in common with the other popular scripting languages mentioned here (lua, javascript, python, etc).  It also seems to have largely fallen out of favor (at least in my observation) compared to more modern alternatives.

I'll echo the Unity suggestion -- it seems like a pretty nice environment if you want to play with scripting-in-a-game-engine with fairly modern tools.  I'd suggest checking out C# in Unity, as something with more long-term value for "real" projects, but javascript may be more approachable.   There are a lot of tutorials out there for getting started with either C# or javascript in Unity.

Lua-in-WoW feels like an awkward place to get started -- do they have anything by way of debugging tools?


Title: Re: Scripting, where do I start?
Post by: K9 on December 20, 2012, 08:20:10 AM
Here in academia Perl is going pretty strong in certain circles, it's what I use most of the time and for many tasks it's bloody great.

That said, if I was starting again I'd go with Python. It's just a more user-friendly and more well-rounded language, and the resources to learn it are great.


Title: Re: Scripting, where do I start?
Post by: Lantyssa on December 20, 2012, 09:26:42 AM
Fortran is only starting to fall out of favor in parts of academia.  Not really a glowing endorsement. :-P


Title: Re: Scripting, where do I start?
Post by: cmlancas on December 20, 2012, 10:00:34 AM

Lua-in-WoW feels like an awkward place to get started -- do they have anything by way of debugging tools?


I teach Javascript I to master's students and one of their biggest complaints is show me something practical.  By even looking under the hood of the addons, you'd gain a lot of value.

I see where you're going with the debug stuff, but simply tinkering and seeing how the pieces fit together would be value added, I think.


Title: Re: Scripting, where do I start?
Post by: Quinton on December 20, 2012, 10:24:49 AM
That's why I was thinking Unity might be nice -- there are existing games / gamelets you can tweak, tutorials if you want to start from scratch, and assorted tools for inspection / debugging / etc.  Lots of opportunity for hands-on doing-real-things experience.

I may be wrong, but I suspect that WoW is probably a little distracting as far as an environment to work in, and that the edit/test cycle for WoW UI plugins may not be the most approachable thing in the world. 


Title: Re: Scripting, where do I start?
Post by: naum on December 20, 2012, 12:56:30 PM
No need for Perl, Ruby is all that is Perl and more, plus cleaner and sane OO.

Javascript, Ruby, Lua, Python are the immediate, logical choices.

But depends on what you want to with your scripting. Web development v. HTML 5 games v. game scripting.

If you want to experiment with art + design, I would recommend processing (http://processing.org/), a programming language/platform built on top of Java special built for artists and designers. And your "sketches" (what is termed a "program" or "app" or "script" there) can be exported to Javascript (web app) or even Android (look Ma, no Eclipse needed) in addition to video files / image files / desktop app-lets.

Or if you try Dart (http://www.dartlang.org/), Google new web development platform -- can create server/client apps, integrated. And if you want to deploy an app it all will compile to Javascript!

The ActionScript I would not bother with, given it's going the way of the dodo -- due in large part to mobile platforms (phone, tablet) for which it not a viable scripting alternative -- native apps or HTML5 (which you can even create desktop apps for now).


Title: Re: Scripting, where do I start?
Post by: Yegolev on December 20, 2012, 01:39:54 PM
If you adhere to the philosophy that your mind is shaped by the tools you use then I would suggest python.

(https://dl.dropbox.com/u/85916/Not_sure_if_serious.jpg)


Title: Re: Scripting, where do I start?
Post by: Evil Elvis on December 20, 2012, 02:34:41 PM
I'd go with either Lua or Python.  Lua may be easier to pick up for a novice.

Pick one and go.  You don't even need to install a compiler/interpreter to get started:
http://codepad.org/


Title: Re: Scripting, where do I start?
Post by: Salamok on December 20, 2012, 04:54:00 PM
Of course I was serious.  If the goal is to learn to program in general as opposed to just completing a specific task then python is a great choice.  If the web is of interest then django is available as well.  I would think perl a horrid choice if the result you are looking for is to learn proper programming techniques.  I would also suggest steering clear of JavaScript, ActionScript and PHP.  Pretty much the entire m$ stack is out as well as interpreted languages are not exactly their speciality.


Title: Re: Scripting, where do I start?
Post by: Ratman_tf on December 20, 2012, 05:01:16 PM
I wish I could be more specific. I don't know what scripting language they are using.
Python and Lua sound like decent places to start. I'll take a look see.


Title: Re: Scripting, where do I start?
Post by: Krakrok on December 21, 2012, 12:24:15 AM
I'd pretty much recommend only JavaScript/ActionScript/PHP. ActionScript compiles straight to iOS/Android/Blackberry/Web. Same codebase. Actionscript and Javascript are practically the same syntax and if Unity (which also compiles straight to iOS/Android/Web) can use Javascript that is just one more tool in your warchest. HTML5 runs on Javascript so again basically all the same script syntax.

Yes, if you want to automate Unix shells some of the other languages might be useful.


Title: Re: Scripting, where do I start?
Post by: Bann on December 21, 2012, 04:03:10 AM
I've been working on a project at work to automate part of our registration process for next year. (During registration week, Parents come in and fill out a 14 page packet, then someone (me) manually types that information into a spreadsheet and we use the spreadsheet to import to our relevant student information systems. This is crazy. There are way to many spots where the data can get messed up.) What I did was all based in google drive. I created a form that asks questions which get reported on to a spreadsheet and a emergency contact template document with placeholders for all the unique information. I then found a script via the script gallery that sort of did what I was looking for and was able to modify it to my purposes - now when a parent completes the online form, their answers are populated into the template, its converted to a .pdf, and emailed to myself and whoever filled out the form.

2 weeks ago, I didnt really understand what a script actually was. I think the process of finding a script in the script gallery and then bending it to make it do something you want to do give s a nice balance of seeing how things are done and leaving you with a tangible result. If you would like a specific starting point,this is the tutorial clip that unlocked alot of ideas for me.

http://www.youtube.com/watch?v=OdoDuZfP6a0 (http://www.youtube.com/watch?v=OdoDuZfP6a0)



Title: Re: Scripting, where do I start?
Post by: Yegolev on December 21, 2012, 07:14:38 AM
Of course I was serious.  If the goal is to learn to program in general as opposed to just completing a specific task then python is a great choice.  If the web is of interest then django is available as well.  I would think perl a horrid choice if the result you are looking for is to learn proper programming techniques.  I would also suggest steering clear of JavaScript, ActionScript and PHP.  Pretty much the entire m$ stack is out as well as interpreted languages are not exactly their speciality.

I generally agree with all that, especially about Perl, but I find myself sliding towards the "it's evil" side of the Python Whitespace slider and I couldn't remember where you were on that.  Would it be OK if Python was my first language?  Can't say.


Title: Re: Scripting, where do I start?
Post by: Zetor on December 21, 2012, 07:18:27 AM
I read the other day that LISP is supposed to be a really easy and logical language to learn... if you aren't tainted by preconceptions from inferior languages, that is. But going down that road leads to "vi vs emacs", "eclipse vs netbeans", "object DB vs object-relational DB" slapfightholy war territory, so yeah.  :why_so_serious:


Title: Re: Scripting, where do I start?
Post by: Quinton on December 21, 2012, 07:27:35 AM
I generally agree with all that, especially about Perl, but I find myself sliding towards the "it's evil" side of the Python Whitespace slider and I couldn't remember where you were on that.  Would it be OK if Python was my first language?  Can't say.

The syntactic whitespace side of Python is probably not going to kill anyone, and as a beginner language it's not too bad.  I suspect making the transition from scope-by-indentation to scope-by-braces or scope-by-begin/end wouldn't be too hard, and all the other things you'd learn translate easily enough.

My main concern (if the goal is to build some solid coding basics) is the kind of kitchen-sink approach to data structures and libraries -- but that's common to most scripting languages (except the designed-to-be-embedded stuff like Lua) and has some upsides too (all kinds of useful goodies in the box).

LISP is neat in a lot of ways, but if your goal is to pick up practical scripting/coding skills, there are far fewer LISP shops than even Perl shops.

I'm an old fart who started when I was very young with BASIC and 6502 assembly before moving on to a variety of languages (high and low level) and settling on C/C++ for most of what I do, so probably worth taking my opinions with a grain of salt or two.


Title: Re: Scripting, where do I start?
Post by: Salamok on December 21, 2012, 07:30:19 AM
I read the other day that LISP is supposed to be a really easy and logical language to learn... if you aren't tainted by preconceptions from inferior languages, that is. But going down that road leads to holy wars, so yeah.  :why_so_serious:
lol - I suppose if you are really comfortable with the calculus then lisp might be a good choice as a first language.  I'm more of a see problem->solve problem kind of guy rather than a see problem->build an entire world where problem no longer exists type.


Title: Re: Scripting, where do I start?
Post by: Salamok on December 21, 2012, 07:35:11 AM
I'm an old fart who started when I was very young with BASIC and 6502 assembly before moving on to a variety of languages (high and low level) and settling on C/C++ for most of what I do, so probably worth taking my opinions with a grain of salt or two.

According to Dijkstra your exposure to Basic as a first programming language ruined you for all time.  This is sort of the angle I was taking by proposing Python as a 1st lingo.


Title: Re: Scripting, where do I start?
Post by: Lantyssa on December 21, 2012, 07:40:01 AM
Why does learning with BASIC make us eternally broken coders?


Title: Re: Scripting, where do I start?
Post by: Quinton on December 21, 2012, 07:47:01 AM
"GOTO considered harmful" and all.

I still think Python is a bit overly complex and fiddly (so many basic data types, many quite similar, etc etc) for an intro language, but I'm not a big believer in the mathematical purity of LISP either. 

Useful environment is a big factor as people have pointed out -- when I got started you turned on the computer and got a READY prompt and that was it.  Writing a little program to do some calculations or play a simple game or something was pretty neat.  People have much, much higher expectations of what computers do today. ^^


Title: Re: Scripting, where do I start?
Post by: Salamok on December 21, 2012, 07:50:19 AM
Why does learning with BASIC make us eternally broken coders?
http://www.cs.virginia.edu/~cs655/readings/ewd498.html

edit - Dijkstra and like minded folks seem to think the only way to properly develop the mindset for programming was to heavily focus on building a deep understanding of mathematics and then only after an appropriate level of understanding was achieved should you introduce programming as applied mathematics.  IIRC this is the approach taken by MIT with their CS program.  I suppose if you are developing operating systems, compilers, database engines and such, having learned via these methods is probably highly desirable.  Personally the vast majority of code I see and deal with (probably because I was not trained in the above manner) has to do with business rules and end users, down in this cesspit no one cares that your salesman took the shortest route to make all his calls all we care about is the fact that the sob can sell.

edit2 - If I make him sound like an elitist prick, you shouldn't take it that way as the man was a true gem. I wish I had moved to Austin a few years earlier and had the opportunity to just sit in the back row failing one of his classes.


Title: Re: Scripting, where do I start?
Post by: Hawkbit on December 21, 2012, 08:27:32 AM
Coming at this from a different angle, I went back to school for a general Web Development 4yr at a local non-profit university that switched to partial online classes.  My intent was to use the degree as a springboard into development for not necessarily Web D, but maybe general development.  Our very first programming class was Python for basics.  Then they pushed us into JavaScript for the transition from beginner to intermediate programming. 

I find myself struggling with how dynamic both languages are, and I find myself wanting experience with a more strict language.  I find JavaScript simply too wonky, as illustrated here:  https://www.destroyallsoftware.com/talks/wat (https://www.destroyallsoftware.com/talks/wat)  However, JavaScript is required for pretty much anything I do in school, so I need to work with it. 

So now I'm considering going to a stricter, more static language and I'm not sure where to start.  I'm kinda leaning on sticking with Python because I already have the basics down.  Any thoughts?


Title: Re: Scripting, where do I start?
Post by: Quinton on December 21, 2012, 08:33:14 AM
I'd suggest either Java or C# (depending on which is a better fit for the ecosystem you're in) as great modern languages with static type systems, garbage collection, extensive standard libraries, and wide usage.  They both have C/C++ derived syntax which shouldn't be too foreign-looking for someone coming from javscript.


Title: Re: Scripting, where do I start?
Post by: Salamok on December 21, 2012, 08:39:13 AM
C# or Java if you want to stay with something mainstream.  Java is more widely used but no one just does Java so you have to decide on one of the many frameworks, C# already comes with a framework so there isn't much fragmentation there.  I don't know anything about it but maybe Objective C might be good?

edit - Quinton beat me to it.


Title: Re: Scripting, where do I start?
Post by: Quinton on December 21, 2012, 08:50:35 AM
Unless you're targeting Apple platforms, Objective C sees very little use.  As it's more about bolting a dynamic, Smalltalk-like messaging system on to C, it might not be the ideal candidate for somebody looking for something with more static typing and compile-time checking.


Title: Re: Scripting, where do I start?
Post by: naum on December 21, 2012, 09:09:12 AM
If web development is the goal, dynamic languages reign -- Java sucks for that realm, though people do use it, as well as Go (static typed language by Google) now is being used for web development, though primarily on the backend.

Regardless of your scripting language selection (and again, it would be from the palette of PHP, Ruby, Python, and now NodeJS which is just a flavor of Javascript that runs V8 Javascript engine on the server side). Javascript is ubiquitous and is what is universally used on client side (though there is now a proliferation of "compile to Javascript" options like CoffeeScript, Dart, etc. that have superseded GWT). Javascript is flawed but most of the ugliness that critics bemoan it for is not Javascript but the DOM and browser inconsistencies / quirks. In many respects, Javascript is a powerful, preferable language, and functional (functions are first class objects, giving it much of its power, as evidenced by all the toolkits and frameworks like jQuery, Sencha, Backbone.js, underscore.js, etc.… that have cropped up). A good resource, but at intermediate level is Douglas Crockford's  "Javascript: The Good Parts", which showcases the prototypal benefits of the language and how to elude the junky bits of the language.

Sure, there are the hippies building web apps and kits with Smalltalk, Erlang, LISP, Scheme, Haskell, etc.…


Title: Re: Scripting, where do I start?
Post by: Salamok on December 21, 2012, 09:18:55 AM
php is a horrible language to learn as a first language, even with frameworks and oop support.  If web is the goal RoR might be the best simply because you avoid having to deal with the somewhat fragmented and confusing tool chain that is required to bring Python to the web.

edit - I still think the added benefits Python brings to the table on the systems/utility program side of things make it worth the extra deployment efforts as a web language.  Even if you think you are only web focused that rabbit hole eventually leads back to the OS and if you are on a lamp stack then a knowledge of Python will serve you better than Ruby.


Title: Re: Scripting, where do I start?
Post by: naum on December 21, 2012, 09:47:21 AM
php is a horrible language to learn as a first language, even with frameworks and oop support.  If web is the goal RoR might be the best simply because you avoid having to deal with the somewhat fragmented and confusing tool chain that is required to bring Python to the web.

Well, was not casting judgment between the various web scripting alternatives -- besides, every language (and platforms) has its warts, Ruby on Rails (RoR) included. And PHP certainly has its downside (though its critics often border on hysterical in attacking) but it was/is predominant web choice -- a good majority of all popular web apps have been built with the LAMP model -- WordPress, Wikipedia, Tumblr, Moodle, etc.… Due in large part because where Apache runs, PHP also is on. Cheap hosting cultivated a flowering of PHP. RoR, Python, etc.… meant you need to roll up your own server at a more significant cost, though that has changed >2010 with the cloud, AWS/EC2, Google App Engine, Heroku, etc.…


Title: Re: Scripting, where do I start?
Post by: Lantyssa on December 21, 2012, 10:37:20 AM
Another scripting language to consider might be AutoIt.  It's pretty simple, but lets you get into automating things you may be familiar with.  A simple project would be making it post "Hello World" to this thread. ;D

http://www.cs.virginia.edu/~cs655/readings/ewd498.html

edit - Dijkstra and like minded folks seem to think the only way to properly develop the mindset for programming was to heavily focus on building a deep understanding of mathematics and then only after an appropriate level of understanding was achieved should you introduce programming as applied mathematics.  IIRC this is the approach taken by MIT with their CS program.  I suppose if you are developing operating systems, compilers, database engines and such, having learned via these methods is probably highly desirable.  Personally the vast majority of code I see and deal with (probably because I was not trained in the above manner) has to do with business rules and end users, down in this cesspit no one cares that your salesman took the shortest route to make all his calls all we care about is the fact that the sob can sell.
I don't necessarily disagree with all his points, but I'd still like to see the reasoning behind some of them.

I learned to program when I was nine or ten.  I had a good grasp of mathematics for my age, but of course I wasn't doing advanced stuff.  And I learned by treating it like a free-form puzzle and seeing what I could come up with.  BASIC was just fine at that age.  I'm not going to ever be a cutting-edge kernal programmer, but on the other hand I'm not a terrible one either.  And I know more languages than the full-time programmers I know on top of being able to integrate them with everyday workflow much better.  (Seriously.  I'm having to teach my programmer how to read the friggin' DOS path that his code calls.  D:\blah\yada.exe is not hard to grasp.)

So I think it entirely depends what you need the programmer to do.


Title: Re: Scripting, where do I start?
Post by: Ghambit on December 21, 2012, 11:40:11 AM
As much as I recommend learning C# above all else, you really should dip into direct level design and scripting within a working engine/environment.  We can all spout elitist programming shit all we want, but a good scripter/designer a programmer does not necessarily make.  And tbh, these days the guys making all the money and getting all the recognition are NOT your codemonkey types.  They're the total conversion types who let some other asshat do all the gruntwork.  e.g. why reinvent a tool when you can just use it and move on?

Knowing this, your choices aren't as widespread as you think.  Browse around the employment ads and see which skills they're needing.  Find the commonalities and stick with those.  They want Unity?  Learn Unity and C#.  They want Unreal?  Learn it, Kismet, and C# again.  Cryengine?  (kismet-type GUI, but learn it), it'll be Lua.  HeroEngine? custom scripting based on C++ kinda.

All this fancy Perl, actionscript, whatever talk means jack if you can't bring the fun nor get hired.  Oh Actionscript?  LoL.  Everyone's moving away from that and into HTML5, which is another ball of wax altogether.  That's largely webdev, but there are a lot of small apps/games that use it now. A different animal and not one I'd recommend playing with w/o again, starting with a nice gaming-engine with GUI.  There are a few out there I've recommended in the gamedev thread (scirra construct, etc.). 

All of this comes under the pre-text of managed code.  Being thrust directly into nothing but a command-prompt isnt a great way to learn imo.  Use an environment that catches your mistakes and shows them to you.  Something like VisualStudio pumping custom scripts into Kismet/UE3 is a powerful thing and one that you can see results from fairly quickly.

Also, you'll have plenty of templates to work with.  Stealing is smart.   :grin:


Title: Re: Scripting, where do I start?
Post by: Soln on December 22, 2012, 09:08:02 AM
I had a long'ish post that really added nothing that I lost so I'll just add my two cents quickly.


Look at Sikuli (http://sikuli.org/.).  It's still challenging to fully automate the front-end QA of web games, and getting experience with Selenium and AutoIt is wise, but Sikuli is easier.   It allows you to macro all your basic inputs and it lets you screenshot everything, so combining that with backend automation makes it very useful for testing.

Also, the games world is moving faster to mobile, but Flash/ActionScript still has a huge base.  I don't want to argue it or quote NPD data.   Instead, I would recommend to anyone to look at Starling and Dart (we're using it) and to also look at exploring Unity.  Unity is getting a larger base and it's free for home brew and perfect to learn on.
 


Title: Re: Scripting, where do I start?
Post by: Ghambit on December 22, 2012, 11:29:40 AM
Thanks for that Sikuli post.  I'd forgotten about that.  Million things I could use that for.