Jump to content
castorp

A question about programming languages (sort of)

Recommended Posts

Dear Thumbsters,

Some years ago I wrote something in HTML, a geography kind-of-game, very very easy, for offline-use and pretty much just my own enjoyment. On the webpage it would ask 'Where is Guinea-Bissau?' or some other random country and I would have to click on the right country on a blankt map. If the answer was correct there was some positive effect and a new question, if not, some negative and I'd have to try again.

So, my question is: What is the most suitable programming language in which to write this program or something similarly simple? Open source would be good, or free-for-non-commercial-use.

I wanted to get away from HTML because some browser-update messed with my page/program and I wanted to fix it in a more proper program. Additionally HTML feels a little too restricting (for all the extra-stuff I probably will never program).

I'd be happy about any suggestions or ideas.

Thanks

Share this post


Link to post
Share on other sites

You should definitely not "get away" from HTML. If you try rewriting your thing in HTML, CSS and javascript, you'd be learning some useful stuff. If it's not a problem having to run it in a browser, you should look into it. There's not much you can't do using those tools, especially if you're not afraid to target the latest generation of browsers.

Also, if a browser update breaks your program, it's most likely a fault with your program, and you should consider it a chance to find out what's wrong and improve your code.

Share this post


Link to post
Share on other sites

HTML is not a programming language, neither is CSS.

I can't think of a reason not to do it in HTML/CSS/JavaScript, you already have part of the work done.

Share this post


Link to post
Share on other sites
HTML is not a programming language, neither is CSS.
:blink:...:shifty:

Mh, there is already some JS and CSS involved. Anyway, I guess you guys are right, the program works for the bigger part, so I should rather tweak that, than start anew. Thanks.

So, uhm, just in case I wanted to broaden my horizon in the direction of programming languages, where'd be a good place to start?

Share this post


Link to post
Share on other sites

in what direction?

Games? Go for C++

Business? Go for Java

Cult? Go for Ruby

Mobile? ObjectiveC or Java/Dalvik

Web* ? JavaScript

High concurrency? Erlang

...

Share this post


Link to post
Share on other sites

I'd say it depends on what you would like to do. What would you like to make? Most languages are pretty similar – if you master one you should pick up others with only minor difficulty, but some are more suited to certain stuff like desktop applications, web applications or what have you. Again, what do you want to make?

Share this post


Link to post
Share on other sites

Python, when you want reasonably sized things done quick and painless, I guess.

Processing is really nice for prototyping visual stuff.

Share this post


Link to post
Share on other sites

I probably won't aspire to program something much more complex than the simple quiz-game mentioned in my first post. As stated, you guys are probably right that I won't need more than HTML and its involved abbreviations for such an application.

Still, as a learning-project, and maybe with some added bells and whistles, I'd like to try my hands on programming a 'game' like this. Python sounds interesting.

That said...

Even though I didn't think the whole 'programming languages'-thing would be easy in any way, I get the feeling that I'm in way over my head - in other words: the amount of time I would have to spend to learn all what's necessary and then getting something done seems rather huge compared to, say, HTML (and CSS and JS) even though my aspirations aren't much higher. Is this true?

With HTML or Photoshop or InDesign I started pretty much form zero as well but got things done with trial and error and the internet and the whole learning process was more fun and got me more satisfaction than the final results most of the time. Now I fear it's a rather brick wall I'm running into than a cardboard one like before. Mh?

Again, thanks!

Share this post


Link to post
Share on other sites

You should look into using jQuery. It makes working with javascript only slightly more complex than working with CSS pseudo classes (such as a:hover or a:visited or p:first-child) — it also normalizes some of the discrepancies in the browser implementations of Javascript. As a result you will have to spend a lot less time mucking with boilerpalte code.

All of Hobo Lobo is programmed with jQuery.

Share this post


Link to post
Share on other sites

I also use jQuery whenever I need to do some JavaScript stuff

Share this post


Link to post
Share on other sites

Yeah, I've been introduced to jQuery through my job, and it seems pretty cool. If you wanted to go further in the web direction, I'd suggest giving a server-side scripting language a try. The problem with those, though, is that getting set up is less trivial than simply having a browser – it can be tricky to find free hosting that will meet your requirements. Anyway, I personally use PHP, but I'm not enough of an expert to say that it's definitively preferable to the alternatives.

That said...

Even though I didn't think the whole 'programming languages'-thing would be easy in any way, I get the feeling that I'm in way over my head - in other words: the amount of time I would have to spend to learn all what's necessary and then getting something done seems rather huge compared to, say, HTML (and CSS and JS) even though my aspirations aren't much higher. Is this true?

With HTML or Photoshop or InDesign I started pretty much form zero as well but got things done with trial and error and the internet and the whole learning process was more fun and got me more satisfaction than the final results most of the time. Now I fear it's a rather brick wall I'm running into than a cardboard one like before. Mh?

The learning curve might be a little more tough, but I don't think it's by any means insurmountable. Provided you start off with fairly simple goals, you should be able to get going quite quickly, especially if you already have some experience with JavaScript. The basic control structures are pretty much the same among most things, and most of the syntax is very similar for the C-like languages (of which JavaScript is one), so you're already some of the way there. There are lots of freely-available guides online you can use to get you started, too. On the other hand, it may be a matter of taste. Most programming and scripting languages deal primarily with text and numbers, and handling images requires working with layers of abstraction that can be quite tricky to get your head around. If you're hoping to work with graphics (such as your map thing), this could be a little frustrating at first. If you were really dead-set on trying different for your map project (which it sounds like you aren't), I would almost suggest using something in Visual Studio, if it weren't so un-free.

Alternatively, another way to feel more engaged with what you're doing is to try something with an interactive mode, like Python. I never got too far with Python (more for lack of time and focus than anything else), but getting immediate feedback from the interpreter can make it easier to understand precisely what each line of code is achieving, rather than having to write the whole program, run it, then go back and work out which bit isn't behaving as expected, or whatever.

Anyway, good luck. I hope you find something that suits you. Or, failing that, are able to develop your skills in the things you already know.

Share this post


Link to post
Share on other sites

I would probably not start using jQuery straight away if I were completely new to javascript, as I reckon it would only add to the confusion.

Also, isn't there a completely free version of Visual Studio?

Share this post


Link to post
Share on other sites
Also, isn't there a completely free version of Visual Studio?

Yes. But Visual Studio Express only contains certain modules, such as C++ and C#, so it may not be right if he wants to go down the Java-based path. That said, C# does actually borrow some ideas from Java and it's (relative to some older languages) fairly easily learned.

Share this post


Link to post
Share on other sites

Don't go for PHP - there are a ton of places where it has no internal logic (functions are incredibly inconsistently named, for example) which will be extremely frustrating to a newcomer.

Share this post


Link to post
Share on other sites

I just want to call out two bullshits mentioned above:

1) jQuery is more difficult than flat javascript

2) PHP is confusing to a newcommer

1) Nonsense. jQuery makes javascript approachable. If you know CSS, jQuery is a great entry point into client-side scripting. Plus, it is very straightforwardly documented.

2) Nonsense. Newcomers simply don't have such advanced and snobbish notions as uniform namespace. The syntax is fairly straightforward and while it is not the most fascist of languages as far as enforcing a function and class nomenclature, it is by far the easiest to deploy, there is no mandatory OOP structure to comprehend before you start programming and it is probably the most thoroughly explained of all the server-side options. All you need is a .php file sitting on an Apache server and you're more likely than not set. Cheapo hosting is effortless to find, since the language is so ubiquitous.

Share this post


Link to post
Share on other sites
I just want to call out two bullshits mentioned above

Okay, fine, sure, my experience was bullshit. Whatever.

I'm bailing out too.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×