Welcome to Gaia! ::


8,600 Points
  • Conversationalist 100
  • Megathread 100
  • Mark Twain 100
Hi, I'm looking for some advise.. I'm from the UK, planning to move to another European country within 2 years and feel that, until I get a good grasp on the language, the only two real career options I have are TEFL (Teaching English as a Foreign Language), something I'm not completely comfortable with, or computer programming - now I'm willing to work hard to increase my knowledge in this area, but I absolutely don't know where to begin.. does anyone have any advise or any - this is where you start from- guidance? I'm of an age where I'd have to pay for any courses I do but, not knowing the first thing about it, I'd like sort of.. an introduction, to begin with.

Thanks!
xReagan
Hi, I'm looking for some advise.. I'm from the UK, planning to move to another European country within 2 years and feel that, until I get a good grasp on the language, the only two real career options I have are TEFL (Teaching English as a Foreign Language), something I'm not completely comfortable with, or computer programming - now I'm willing to work hard to increase my knowledge in this area, but I absolutely don't know where to begin.. does anyone have any advise or any - this is where you start from- guidance? I'm of an age where I'd have to pay for any courses I do but, not knowing the first thing about it, I'd like sort of.. an introduction, to begin with.

Thanks!


Do you have a specific langauge you'd like to learn or are you looking for guidance as far as that goes as well?
This is probably the first introduction you'll have so....

Welcome to the world of Software Development/Engineering. There are numerous options for you to choose, depending on your interests of course.

I'll try to make it as brief as possible, I would say there are major branches which you need to make a decision on what to choose from, namely, you can choose to develop software for "local" applications (think of applications installed locally in your computer like Microsoft Office, or building software for specific hardware like printers or other specific equipment.) These require you to be familiar with languages such as C, C++ or Java.

There is also the option to develop software for web applications (take Gaia Online here as an example) There are already different kinds of languages used to build this website, it is mainly divided into two categories, the front end (which deals with what the website "looks like" ) and the back end (which deals with how the website "behaves" ), for front end development, you'll need to be familiar with CSS/3, HTML, Javascript and a few others. For back end development, you have a few choices such as C#, Java, Python, Ruby, Scala etc.

To answer your question "which should I choose?" You need to pick one from the major kinds of software you'll build (local or web), then pick programming languages that are more commonly used. Usually, open source programming languages (Java, Python, Ruby, Scala) are gaining popularity because using them is virtually free.

If you do end up choosing web development (like I did), I'd recommend to start with front end since for me it was easier to learn there. Start with HTML, then CSS, then Javascript. I would put more emphasis and more time into learning Javascript right now since it is gaining popularity and there are plenty of libraries for you to experiment and learn.

A few good sites to learn web programming will be W3schools. For javascript, I'd recommend you to learn at http://jstherightway.org
Whether or not you are a good programmer doesn't really matter if you can't understand your employer.
Just saying.

8,950 Points
  • Gaian 50
  • Member 100
  • Contributor 150
http://sitwon.github.io/learnproglang/Home.html

This is an introductory guide, and a list of resources. It has been compiled and vetted by several of the C&T regulars, many of whom are professional programmers.

8,600 Points
  • Conversationalist 100
  • Megathread 100
  • Mark Twain 100
daredevil_keiji
This is probably the first introduction you'll have so....

Welcome to the world of Software Development/Engineering. There are numerous options for you to choose, depending on your interests of course.

I'll try to make it as brief as possible, I would say there are major branches which you need to make a decision on what to choose from, namely, you can choose to develop software for "local" applications (think of applications installed locally in your computer like Microsoft Office, or building software for specific hardware like printers or other specific equipment.) These require you to be familiar with languages such as C, C++ or Java.

There is also the option to develop software for web applications (take Gaia Online here as an example) There are already different kinds of languages used to build this website, it is mainly divided into two categories, the front end (which deals with what the website "looks like" ) and the back end (which deals with how the website "behaves" ), for front end development, you'll need to be familiar with CSS/3, HTML, Javascript and a few others. For back end development, you have a few choices such as C#, Java, Python, Ruby, Scala etc.

To answer your question "which should I choose?" You need to pick one from the major kinds of software you'll build (local or web), then pick programming languages that are more commonly used. Usually, open source programming languages (Java, Python, Ruby, Scala) are gaining popularity because using them is virtually free.

If you do end up choosing web development (like I did), I'd recommend to start with front end since for me it was easier to learn there. Start with HTML, then CSS, then Javascript. I would put more emphasis and more time into learning Javascript right now since it is gaining popularity and there are plenty of libraries for you to experiment and learn.

A few good sites to learn web programming will be W3schools. For javascript, I'd recommend you to learn at http://jstherightway.org
Thanks for this, web development does interest me, a while back now while in College I used to mess around HTML in my breaks, this could be a good plan of action!
I feel the need to point out...
daredevil_keiji
[...] you can choose to develop software for "local" applications. [...] These require you to be familiar with languages such as C, C++ or Java.

There is also the option to develop software for web applications [...] For back end development, you have a few choices such as C#, Java, Python, Ruby, Scala etc.
That's actually not the case. You can choose to use any language under the sun.

Yes, C, C++, and Java are used for desktop application software, but they're also used for mobile apps, web applications, embedded systems, and operations software. Likewise, yes, C#, Java, Python, Ruby, Scala, etc. are used a lot for web applications, but they're also used in developing desktop application software and games, among many other things.

It's not really fair to say those are your choices when your choices are so much more broad than that.
daredevil_keiji
To answer your question "which should I choose?" You need to pick one from the major kinds of software you'll build (local or web), then pick programming languages that are more commonly used. Usually, open source programming languages (Java, Python, Ruby, Scala) are gaining popularity because using them is virtually free.
It would be more accurate to say that these languages are chosen not because they're free, but because for the most part, they have a rapid development and deployment cycle. In particular, that's why PHP is far and away the most popular web development language: Changes you make become instantly visible to the application.

The fact that they're free is merely a bonus. No one chooses based on cost - they choose based on the time it'll take for them to get something up and working.

(Though I really would rather see more web applications written in Clojure or Scheme than Java or PHP. I'm so sick of PHP in my day job.)
daredevil_keiji
A few good sites to learn web programming will be W3schools.
No. Never recommend w3schools. It's a terrible resource. Its examples are full of bad practices (that will make you look like an amateur), its tutorials are full of bad advice (that will make learning how to do things the right way more difficult), and its information is all too often out of date or simply wrong. And its review quizzes? A farce.

If you need a reference, use the Mozilla Developer Network (which is always up-to-date and correct). And put w3schools on your Google blacklist. You'll be better off for it.

As for a Javascript tutorial, I have not yet found a better resource than Eloquent JavaScript.

Sparkly Vampire

7,400 Points
  • Invisibility 100
  • Risky Lifestyle 100
  • Brandisher 100
Also... if somebody suggests using PHP is a good idea... don't. PHP is a Fractal of Bad Design.

For stuff on the internet I'd suggest Python/Pyramid personally... mostly because I haven't had a chance to check out any decent JSP/Servlettes setup... I cannot get Perl5/Cataclysm to load correct via CPAN... and Ruby has no documentation on it what so ever.

People posting videos on Ruby or PDF Tutorials... is not documentation. Just to be clear.

As the same time... with internet infastructure programming, some stuff you should probably figure out how they work (to safe time)
* RESTful Interfaces
* OpenID
* OAuth
* JSON Data Objects
* Relationship Database Designs

And for the life of molly, please skip the phase where you think XML is awesome. XML is not awesome... it does the job of other languages poorly (notably, SQL, LISP, Lua and Config) and is excessively redundant... and generally disappointing when you realise what all is required to make XML awesome (a lot of work is required, that is what)
I Am DakeDesu
... and Ruby has no documentation on it what so ever.
http://ruby-doc.org/ (API docs)
https://www.ruby-lang.org/en/documentation/ (a huge list of great resources)
http://mislav.uniqpath.com/poignant-guide/ (the best introductory book)
http://tryruby.org/ (an interactive tutorial)

If you think Ruby has no documentation, you're not even looking.

Sparkly Vampire

7,400 Points
  • Invisibility 100
  • Risky Lifestyle 100
  • Brandisher 100
psychic stalker
I Am DakeDesu
... and Ruby has no documentation on it what so ever.
http://ruby-doc.org/ (API docs)
https://www.ruby-lang.org/en/documentation/ (a huge list of great resources)
http://mislav.uniqpath.com/poignant-guide/ (the best introductory book)
http://tryruby.org/ (an interactive tutorial)

If you think Ruby has no documentation, you're not even looking.


Considering about 90% of the documentation entries are "need to be filled in later", I'm going to say, "I looked, they never finished documentation of their project"

Writing up a list of functions available and general object names (and relations) with "needs to be filled in" in the body of the definition, with the option to look at the source code IS NOT HOW YOU DO DOCUMENTATION.

Look at how Perl and Python handle it.

Hell, even the GNU Info Pages do a better job of documentation as a concept than the Ruby documentation itself.

Seriously... I've looked into it... and their documentation was less helpful than the GNU Info Pages... Ruby made that possible... somehow.
I Am DakeDesu
psychic stalker
I Am DakeDesu
... and Ruby has no documentation on it what so ever.
http://ruby-doc.org/ (API docs)
https://www.ruby-lang.org/en/documentation/ (a huge list of great resources)
http://mislav.uniqpath.com/poignant-guide/ (the best introductory book)
http://tryruby.org/ (an interactive tutorial)

If you think Ruby has no documentation, you're not even looking.


Considering about 90% of the documentation entries are "need to be filled in later", I'm going to say, "I looked, they never finished documentation of their project"
Examining a random selection of a dozen sections of the current (2.1.1) Ruby core library documentation suggests your claim of "90%" is inflated by a factor of about 90.

There are a few things (like one or two little-used classes, when I last looked) that are insufficiently documented, but I can't find any right now. If you have some examples, I'd like to see them. Maybe I'll contribute to the documentation when I have free time.

If you're going to make a substantive claim like this, at least make one that I can verify and that isn't immediately contradicted by clicking on the four links I've just given you.
psychic stalker


You have given good points indeed.

I only gave W3schools as an example so there is a place that has some sort of outlining for the different topics and a brief explanation on how they work. I often go to Mozilla Network as well for other topics.

Sparkly Vampire

7,400 Points
  • Invisibility 100
  • Risky Lifestyle 100
  • Brandisher 100
psychic stalker
I Am DakeDesu
psychic stalker
I Am DakeDesu
... and Ruby has no documentation on it what so ever.
http://ruby-doc.org/ (API docs)
https://www.ruby-lang.org/en/documentation/ (a huge list of great resources)
http://mislav.uniqpath.com/poignant-guide/ (the best introductory book)
http://tryruby.org/ (an interactive tutorial)

If you think Ruby has no documentation, you're not even looking.


Considering about 90% of the documentation entries are "need to be filled in later", I'm going to say, "I looked, they never finished documentation of their project"
Examining a random selection of a dozen sections of the current (2.1.1) Ruby core library documentation suggests your claim of "90%" is inflated by a factor of about 90.

There are a few things (like one or two little-used classes, when I last looked) that are insufficiently documented, but I can't find any right now. If you have some examples, I'd like to see them. Maybe I'll contribute to the documentation when I have free time.

If you're going to make a substantive claim like this, at least make one that I can verify and that isn't immediately contradicted by clicking on the four links I've just given you.


Wait... how long has the ruby documentation not been done in a Frameset format? Seriously... where are the frames in the documentation's layout? Or rather... when did they drop that?

o.o'

Either way, I use to feel bad about my claims made by being an early adopter... however, with how Adobe's PDF, Flash and Air software has been going... seems my issues during early adoption only momentarily vanished.

So yeah... it appears to have been a while since I've looked into Ruby. -shrug- Not going to feel bad either... Perl 4 still existed well into 2003... despite Perl 5 being released in 1995. So unless the documentation formatting has been different for more than eight years (which it totally hasn't), this isn't too bad of actions on my behalf.

Either way... I don't much care for you.

Sparkly Vampire

7,400 Points
  • Invisibility 100
  • Risky Lifestyle 100
  • Brandisher 100
psychic stalker
[ruby banter]


Oh hey... STDLib is what I was remembering. Wow... all the Italics are now gone in that thing. s**t, most of that was all still filled with italics just even two years ago. With Ruby having been around for... oh... shoot... I want to say mid1990s, but I think I'm having Ruby be too young.

So yeah... well documented if you wait twenty-five odd years for the standard library to be written up about. That... is kind of a huge black eye.

At least with Perl 6, they haven't released it as ready for production usage without its documentation properly done up.

Aged Lunatic

I Am DakeDesu
Also... if somebody suggests using PHP is a good idea... don't. PHP is a Fractal of Bad Design.


Slightly late reply on this, but way to link an article that's 45% outdated and 45% irrelevant of PHP itself with like 10% of actual PHP faults. Always love seeing people link that article when they don't have the first clue of actually working with PHP, lol, good job.

Might I suggest visiting Maxwell's blog, which is written by someone who has both quite valid positive and negative opinions about PHP, as they're someone who actually -works- with PHP properly (compared to someone whose greatest accomplishment apparently is an online Pokédex so far that I've ever noticed).

Quick Reply

Submit
Manage Your Items
Other Stuff
Get GCash
Offers
Get Items
More Items
Where Everyone Hangs Out
Other Community Areas
Virtual Spaces
Fun Stuff
Gaia's Games
Mini-Games
Play with GCash
Play with Platinum