ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Developer's Corner

Seeking Programming Language To Learn

(1/4) > >>

raybeere:
I'm pretty new here, and while I've found I can figure out what is wrong with my computer before tech support does (not that that's such a feat...  ;) ) and have written some pretty complex macros for WordPerfect, DOS batch files, and batch routines for something called Norton Batch Runner (acquired in 1993 with my first computer) most of you have probably never heard of, I have never quite taken the next step and learned a programming language. I bought a kit at one point, think it was Visual C++, but found that language - or perhaps the explanations - difficult to handle. I'm a writer; my brain's OS is hard-wired to English by this point, which means I have to find a language which works in ways I can manage.

I've got a lot on my plate right now, so I'm just mulling things over, but I'm trying to figure out the best programming language to learn, for my own style of learning. In case this helps, I picked up WordPerfect's macro language(s) - version 5.2 through 12 - easily enough. When for a short time I was stuck with MS Word, and tried to figure out the macro language it used, I might as well have been trying to read Sanskrit. Of course, I've never found MS products, "help" instructions, or anything else particularly helpful. It all, to me, seems oriented, more and more, towards "you're just a poor stupid user; why don't you lie back and let Bill decide what's best for you?" - and Bill's opinion seldom if ever suits me.* So I don't know how much was the "help" (You don't really want to do this, it's too complicated, so we tell you as little as we can, ha!) and how much the macro language.

I would like to use something I can write stuff with for my own machine - Windows XP - without too much fuss, and for Linux and a Web environment without too much fiddling. I suppose Java sounds like the obvious choice, except my machine always runs slowly when running Java apps, so I'd rather find something else. I've heard good things about Ruby, but I don't know enough to be sure if it is what I want. I did find one little free "toy" I downloaded that was supposed to teach the basics of Ruby - it was called Hackety-Hack and it seemed to be broken. From what I could see, Ruby did look like a language I might be able to get my head around. But how well will it suit me in other ways?

I'd really appreciate any thoughts on this, so I can take some time and think them over. Thanks.

* I know there are software "holy wars" on many sites, and I'm not out to start one. This is purely my own opinion, offered so you can judge how my mind and preferences work. If you're happy with Windows, that's fine with me, as long as you don't expect me to be...

f0dder:
IMHO the documentation for Office macroing (using VBA, Visual Basic for Applications) isn't all that bad - the BASIC language is pretty simple (and while I'm no fan of it, it's adequate for office-style scripting) and it didn't take me long to get some useful stuff going (I've coded a lot previously, but pretty much nothing in BASIC, and definitely nothing for Office). There's only two things that annoyed me a bit:
1) using plural 's' to denote between a single object, and a collection of objects. Yes, this is how it works in English, but a single character can be hard to spot; suffixing "List" or "Coll" (as in collection) would be better.
2) because of the dynamic/variant nature of objects in VB, it can be hard getting the proper context-sensitive help.

If JAVA is too slow for you, you can pretty much rule out Ruby... it's relatively heavy, and doesn't have just-in-time machine-code translation like JAVA does, but is (for now, anyway) run entirely interpreted.

Perhaps you should take a look at Python - it's relatively simple and straightforward, isn't terribly slow :), et cetera.

plor:
I would recommend Java as a good language to start out on.  It has good tutorials and will get you thinking about lots of good programming things.  Java is object-oriented, which is a paradigm that should be learned eventually I think.  There is somewhat of a learning curve, so if you want something else I would perhaps suggest perl.  There are many people who will tell you that perl is old and dying, but the fact is that people still use it all the time.  It is similar in many ways to python, but I think it has more soul.

Another thing you might enjoy about perl is it is a natural programming language, meaning that code translates easily to English.  It may work better with your brain because of this.

f0dder:
Problem with Perl is that... it's so darn easy writing really ugly gibberish that nobody (including yourself, a couple of weeks later) can read :) - at least that's slightly harder with Python.

JAVA isn't all that bad as an introduction to programming (and heck, it can be used for real-world stuff), and IDEs like eclipse are really nice. But the OP did mention that he tried C++ and didn't grok it, and JAVA is pretty similar to C++. *shrug*

app103:
Why not Object Pascal?

Pascal was created for teaching programming and it's easy to learn.

And I am not referring to the old Borland Turbo Pascal, and not even Delphi, necessarily. There are other options that are cross-platform and not a Borland/Codegear/Embarcadero product.

Unlike Perl, which looks like it was created by a space alien to me, Object Pascal looks a lot more like English. That's one of the reasons why I like it so much.

Or how about Javascript? While it will work cross-platform in any modern browser, it's not just for browsers. And you wouldn't need anything to get started other than a browser, text editor, and a good tutorial. You already have 2 of those and are just missing the tutorial.

If you plan on writing for yourself, you have a lot more choices, but if you want to distribute your applications for desktop use, you are a bit more limited, or I should say that it's a little more complicated for the average end user with some languages like Perl, Python, Ruby, etc., and most average people wouldn't bother doing what they would have to do to run your apps.

They would all require the end user to have it installed on their PC, and If they are running Windows, they are going to have to go download whatever you wrote it in and install it before they can even think about running your application.

If you plan on running it on a web server and letting users access it through their browser, that would be different, though.

Navigation

[0] Message Index

[#] Next page

Go to full version