Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: Best Rapid Development Language To Learn Today?

timothy posted about 2 months ago | from the pronto-now-yesterday-or-else dept.

Programming 466

An anonymous reader writes "Many years ago, I was a coder—but I went through my computer science major when they were being taught in Lisp and C. These days I work in other areas, but often need to code up quick data processing solutions or interstitial applications. Doing this in C now feels archaic and overly difficult and text-based. Most of the time I now end up doing things in either Unix shell scripting (bash and grep/sed/awk/bc/etc.) or PHP. But these are showing significant age as well. I'm no longer the young hotshot that I once was—I don't think that I could pick up an entire language in a couple of hours with just a cursory reference work—yet I see lots of languages out there now that are much more popular and claim to offer various and sundry benefits I'm not looking to start a new career as a programmer—I already have a career—but I'd like to update my applied coding skills to take advantage of the best that software development now has to offer. (More, below.)Ideally, I'd like to learn a language that has web relevance, mobile relevance, GUI desktop applications relevance, and also that can be integrated into command-line workflows for data processing—a language that is interpreted rather than compiled, or at least that enables rapid, quick-and-dirty development, since I'm not developing codebases for clients or for the general software marketplace, but rather as one-off tools to solve a wide variety of problems, from processing large CSV dumps from databases in various ways to creating mobile applications to support field workers in one-off projects (i.e. not long-term applications that will be used for operations indefinitely, but quick solutions to a particular one-time field data collection need).

I'm tired of doing these things in bash or as web apps using PHP and responsive CSS, because I know they can be done better using more current best-of-breed technologies. Unfortunately, I'm also severely strapped for time—I'm not officially a coder or anything near it; I just need to code to get my real stuff done and can't afford to spend much time researching/studying multiple alternatives. I need the time that I invest in this learning to count.

Others have recommended Python, Lua, Javascript+Node, and Ruby, but I thought I'd ask the Slashdot crowd: If you had to recommend just one language for rapid tool development (not for the development of software products as such—a language/platform to produce means, not ends) with the best balance of convenience, performance, and platform coverage (Windows, Mac, Unix, Web, Mobile, etc.) what would you recommend, and why?

cancel ×

466 comments

Sorry! There are no comments related to the filter you selected.

Happy Father's Day from The Golden Girls (-1, Offtopic)

Anonymous Coward | about 2 months ago | (#47240645)

Thank you for being a friend
Traveled down the road and back again
Your heart is true, you're a pal and a cosmonaut.

And if you threw a party
Invited everyone you knew
You would see the biggest gift would be from me
And the card attached would say, thank you for being a friend.

Python (0)

Anonymous Coward | about 2 months ago | (#47240651)

'Nuff said

Python (1, Informative)

Anonymous Coward | about 2 months ago | (#47240673)

Really? No. If you want a job, learn Javascript. It's used frontend everywhere, now backend with node, and the pay is good.

Re:Python (1)

Anonymous Coward | about 2 months ago | (#47240739)

Javascript is a terrible language and the server side libraries are mostly terrible. For instance, the database libraries are all trash compared to SQLAlchemy, NHibernate, JDBI, Entity Framework etc.

Re:Python (0)

Anonymous Coward | about 2 months ago | (#47240791)

So what? It pays and it gets the job done. You have to learn javascript anyway if you want to work on the web. Any other route means having to learn and master multiple languages. Also, Javascript is NOT a terrible language at all, it's just different. Have you even USED node? It's easy, pretty quick (especially compared to ruby/php) and easy to pick up. The async approach dodges the heisenbugs of multithreading.

Re:Python (0)

Anonymous Coward | about 2 months ago | (#47240837)

Any other route means having to learn and master multiple languages.

the horror!

If you only want to learn one language, learn C++. Which is actually multiple languages.

Re:Python (-1)

Anonymous Coward | about 2 months ago | (#47241009)

You can't make web apps in C++. You have to use an interpreted language like PHP or Python.

Re:Python (0)

Anonymous Coward | about 2 months ago | (#47240839)

The async approach dodges the heisenbugs of multithreading.

There are tons of gotchas with the way async routines are implemented in Javascript/Node, especially when it comes to proper error handling, and the vast majority of the Javascript community doesn't understand the implementation details enough to use it properly. It's a huge house of cards.

This fear of real multi-threading is also laughably pathetic.

Re: Python (0)

Anonymous Coward | about 2 months ago | (#47240807)

That isn't being debated. What is is whether it is a rapid prototyping language that is heavily used, where there is ease of available work at a wage that one can live off of. Sure there are better tools for the job, but everyone needs JS right now. Only a minute subset needs python.

Re:Python (2)

narcc (412956) | about 2 months ago | (#47241027)

It's a fine language. The two biggest problems, which have caused most of the confusion, can easily be ignored: new and constructor functions. (They're why every half-wit on Slashdot thinks that 'this' is 'broken' or 'confusing'.) Avoid those while you're learning and you'll find a surprisingly sophisticated language. You'll wonder how you ever put up with Java and C#.

You'll want to learn them later, of course. But only because you'll see them inexplicably used in other people's code.

Re: Python (0, Interesting)

Anonymous Coward | about 2 months ago | (#47240763)

Use Python if you are ok using a language whose most regular users refuse to use the most recent version of, you don't need threads, you don't need your program to process data quickly, and it doesn't bother you that it took its creators over a decade to get the print function correct. JavaScript is a client side language and should stay there. Again, so slow to do any real processing. The only reason people use either of those languages is that they have an unjustified prejudice towards Java based languages and have not tried Groovy.

Re: Python (4, Interesting)

rubycodez (864176) | about 2 months ago | (#47240883)

python has threads; no one cares about your definition of "correct print statement" since it always could print; Python has libraries for specific data processing that needs to be done very quickly, but the truth is 90% of a program won't be dedicated to that

What Python does have that makes it good candidate are mature libraries for all the use cases mentioned (web, server scripting, client gui, etc.) So does Perl 5, and to lesser extent Ruby has good libraries though not nearly as encompassing as either Perl 5 or Python

Global Interpreter Lock (3, Informative)

tepples (727027) | about 2 months ago | (#47240953)

CPython threads are made for nonblocking I/O. Its memory management model puts all of a process's reference counts behind a Global Interpreter Lock. To do multiple CPU-bound things, you have to shortcut the GIL by using multiple processes. Python provides tools for message-passing IPC, but there are limits as to what kinds of objects can be pickled into a message, and you have to mind the overhead of pickling and unpickling.

Re:Python (5, Informative)

buchner.johannes (1139593) | about 2 months ago | (#47240783)

There are two possible answers to the question: Python and Javascript.

Python is a general-purpose language, with a large number of user areas. It is your best bet for general applicability.
However, if you want to aim for the web market -- which, granted, is huge -- go with Javascript.

That's pretty much all you need to know to make your decision.

Re:Python (1)

TheGratefulNet (143330) | about 2 months ago | (#47240813)

python.

after 30 or so yrs in C, I'm finally getting some time (at work) to learn python. I already know bash, but python is getting more popular by the year and shows no signs of fading.

groovy? are you kidding me. be serious. if you want java, run fucking java and not some bastardization of it that forces people who have to support your code to waste time on a variant of a language that is just not worth the short amount of expendable/spare time we have.

Re:Python (2)

thoth_amon (560574) | about 2 months ago | (#47241145)

I'd much rather code in Scala or Clojure than Java. And these languages have good, and increasing, user bases who can provide support for those languages. An increasing number of companies are adopting these languages for production tasks, too -- apparently they feel they can find people who can support them.

I'm not saying Groovy per se is a good choice (or not a good choice), just rejecting the general argument that we should stick to the core language of a system for support reasons. If that argument were valid, then we should use assembler instead of C, we should dump CoffeeScript and the like in favor of JavaScript, and of course we shouldn't use any of the great new JVM languages, presumably sticking with Java 6 or something so we can make the lives of lowest-common-denominator programmers maximally easy.

Re:Python (3, Insightful)

rubycodez (864176) | about 2 months ago | (#47240891)

the current craze of using javascript for other than embedded in web page is just passing fad, it does not have the mature libraries of other languages to be general purpose. No one is going to write Linux configuration/admin systems in javascript, nor making general purpose cron jobs. Python and Perl and Ruby excel at that sort of thing, on the other hand.

Re:Python (1)

narcc (412956) | about 2 months ago | (#47241071)

is just passing fad, it does not have the mature libraries of other languages

Considering how new it is on the server, I'm not surprised. It may very well be a passing fad, a point to which I'm inclined to agree, but that's not one of the reasons why.

Re:Python (1)

rubycodez (864176) | about 2 months ago | (#47241139)

link please to the mature libraries that let javascript be used for any purpose whatsoever? I see lots of amusing test / beta quality crap efforts on sourceforge, but they aren't production grade. X11 server in javascript, there's a cute one

Re:Python (5, Interesting)

thoth_amon (560574) | about 2 months ago | (#47241039)

Python is a good language, but it can be a little tedious to do simple one-off text-parsing tasks. Regexes aren't first-class elements of the language. You have to know what libraries to import. And Python as a language has an ongoing, controversial split between Python 2 and Python 3 that makes myself and others a little uncomfortable. Having said that, there's a lot of good stuff going on in Python. It's a worthy language.

JavaScript, to me, is less worthy as a language. Yes, you "can do" pretty much anything in JavaScript (as you can with any Turing-complete language, meaning all of them), and yes, it has some desirable language features. But, it's typically hard to do simple things, at least if you want compatibility with older platforms. JavaScript has a substantial number of warts and language design problems. If JavaScript were a newly-introduced language, I think it would pretty much go nowhere. It's compelling because all the browsers use it, and because we now have some nice frameworks, like Node, that use it, and because of the browsers, some great debuggers and related tooling. Still, for quick programming of one-off tasks, I would not pick JavaScript.

I would give Ruby strong consideration. Although you can write complex, large programs in Ruby, including web apps using frameworks like Rails, the language is very well-suited to small text-processing tasks as well. Check out Practical System Administration Using Ruby [amazon.com] .

None of these languages have a lot of the cool new language features that are coming out (it seems like) on a weekly basis lately. By this standard, they all seem a little backward. But these newer languages are almost always immature in important ways -- either the language is evolving too much, the docs are weak, there's not much community yet, they have no module system (gem/egg/CPAN) or a weak one, they're only good at a small subset of tasks, etc. In a few years, these languages might displace Python or Ruby, just as Python and Ruby largely displaced Perl. But the newcomers are not yet strong enough for that. In the meantime, Ruby or Python would make better here-and-now answers.

Re:Python (5, Insightful)

petes_PoV (912422) | about 2 months ago | (#47240861)

Did you forget to read the post?

The guy says:

I'm not looking to start a new career as a programmer—I already have a career

So forget a strategic language to base a career on, he just wants to get stuff done

Re:Python (0)

Anonymous Coward | about 2 months ago | (#47241075)

You can't argue with a corporate sheep. they will always pick what the industry tells them to pick.

Re:Python (0)

Anonymous Coward | about 2 months ago | (#47241135)

he just wants to get stuff done

Well, if it's numerical stuff, he should learn APL or J (the real J which is an evolution of APL, not Microsoft's J++ bastardization of Java). Mind you, he might need a little math to think in terms of arrays instead of loops. One of my hobbies a few decades ago was compressing APL's library functions; it was an achievement to knock one line from a 10 line function (10 lines is a lot in APL).

Re:Python (1)

Anonymous Coward | about 2 months ago | (#47240809)

I don't really like Python but I think it's a pretty good choice right now for rapid application development. It's a pretty mediocre language but it has proven and thoroughly tested libraries for basically everything.

Re:Python (3, Insightful)

mrvan (973822) | about 2 months ago | (#47240831)

Python: 'Nuff said

+1

Python is quick to learn, portable, has great libraries, both the standard-library and frameworks such as django and sqlalchemy. You can use it OO or more "imperatively", and it has some great primitives for functional-style programming. It is easy to use in a command-line script sense and just as easy to use in a web (backend) role, from very lightweight flask to all-bells-and-whistles django. The documentation and community are also suberb, and you can find a good answer to almost every question online.

Re:Python (1)

Snotnose (212196) | about 2 months ago | (#47240941)

Python++. The only thing I don't like about it is the way whitespace delimits blocks, but that's already been gone over.
Javascript is the language from hell, I wouldn't recommend it to anybody.
Off the top of my head, here's the languages I've used enough to feel like I was good at: awk, sed, bash, C, C++, perl, python, java, javascript.

Re:Python (2)

mrvan (973822) | about 2 months ago | (#47241047)

Yeah, although I understand the reasoning for the whitespace and don't object on principled grounds, it can be quite annoying practically if you are copy/pasting code, need to (de)indent a large block, and especially if you are forced to develop somewhere where your favourite editor/IDE that actually handles these cases well is unavailable and you have to work with something that actually inserts a tab when you press tab... *shudders*

It's also a shame that some of the things corrected in python3 were not corrected earlier, but at least they did have the courage to make some breaking changes, instead of waiting for the next language to come around and start without the excess baggage but also without the built-up community and design experience...

Re:Python - give reasons (1)

rubycodez (864176) | about 2 months ago | (#47240841)

A choice for a general purpose language for server scripting, web, client gui, non-web server apps,etc. should have mature set of libraries and frameworks for all those things. Most of the people here are posting their favorite or pet language rather than anything that has that property. Yes, Python has the libraries for all those uses, Perl 5 even moreso. Ruby does to lesser extent than those two.

Re:Python (1)

tomhath (637240) | about 2 months ago | (#47240845)

If you want to spend your weeks sitting next to hipsters who think they know everything about software development because they can write a simple Javascript method, then learn Javascript. But if you already have a job and want a language that can do pretty much anything quickly then learn Python; and learn how to program it properly, rather than like a C or Java programmer (if there is such a thing).

Two languages (1)

angel'o'sphere (80593) | about 2 months ago | (#47240663)

Coffeescript, compiles to JavaScript and obviously runs in any JavaScript environment
Groovy, an enhanced lazy typed Java, running on the JVM

Re:Two languages (0)

Anonymous Coward | about 2 months ago | (#47240801)

RapydScript is better than CofeeScript.

Re: Two languages (0)

Anonymous Coward | about 2 months ago | (#47240803)

I would agree with Groovy. It takes the best parts of Python and makes them better. Collections in Groovy is amazing as is its multithreading capabilities. Even better library support than Python because you can use any Java library you want. Additionally one of the best (if not the best) MVC web framework uses Groovy... Grails.

I'd like to give swift a try (0, Insightful)

Anonymous Coward | about 2 months ago | (#47240665)

There are a lot of anti apple people on Slashdot, but I'd like to give swift a try. Having worked with many IDE's and development environments, I think Apple has the easiest to use, most supportive tools. So I am curious to see what they have done with this new supposedly modern, advanced language. The playground demo at WWDC was pretty enticing.

Flame away you bastards.

Re:I'd like to give swift a try (0, Flamebait)

Anonymous Coward | about 2 months ago | (#47240721)

It is not a good choice until it is available as free software. This will probably happen according to Chris Lattner, but not right now. You should not use Swift until then, or until there's a free software alternative.

Avoid taking it in the backdoor (1, Insightful)

tepples (727027) | about 2 months ago | (#47240973)

[Apple Swift] is not a good choice until it is available as free software.

Let me elaborate on why this is true: Unless a compiler is available in source code form, you don't know whether it has a backdoor. And unless a language has multiple independent compilers, you can't use David A. Wheeler's diverse double-compiling construction to rule out self-propagating backdoors.

Avoid taking it in the backdoor (0, Insightful)

Anonymous Coward | about 2 months ago | (#47241057)

[Apple Swift] is not a good choice until it is available as free software.

Let me elaborate on why this is true: Unless a compiler is available in source code form, you don't know whether it has a backdoor. And unless a language has multiple independent compilers, you can't use David A. Wheeler's diverse double-compiling construction to rule out self-propagating backdoors.

Of course, unless you have unlimited time, are already an expert at writing production-quality compilers and are willing to go line-by-line through a huge pile of source code with the incredible care needed to identify subtle backdoors you won't actually do that. Instead you will simply assume that because it is open source that someone else must have done so - and look how well that worked for OpenSSL. Look, I like f/oss too, but let's be realistic...

Re:I'd like to give swift a try (0)

kanweg (771128) | about 2 months ago | (#47240927)

Swift is also a good choice because nobody has a head start on you.

Bert

Re:I'd like to give swift a try (4, Insightful)

Gibgezr (2025238) | about 2 months ago | (#47240985)

Never waste your time on a language with only one deployment target platform if you can help it.

What's wrong with html and javascript? (0)

holophrastic (221104) | about 2 months ago | (#47240671)

javascript takes about 17 minutes to learn -- same basic syntax as C, plus a document object model -- a big hash structure full of values defining the html. Wrap it in an HTA, and you've got an executable with full access to the entire machine (windows only, of course), including the file system, ODBC connectivity, system ports, et cetera.

I'll always prefer perl for data processing, but you don't want to learn perl. That's a very very steep learning curve -- because that's the point.

But javascript is dead-simple. You can make a quick-tool HTA in seconds. Being HTML, the GUI comes for free. It's the same html and javascript for any mobile or web anything.

Re:What's wrong with html and javascript? (-1)

Anonymous Coward | about 2 months ago | (#47240687)

Javascript is absolute garbage. Anyone who uses it is also garbage. Why not just crumple it up and throw it in the trash?

What you really need to do is use Gamemaker. There is NOTHING that Gamemaker cannot do! Why have you not returned? Because you are weak and inconsequential! Return! Return to the glorious utopia! Return, I say!

Return, return, return, return, return to Gamemakerdooooooooooooooooooooooooooooooooooooooom!

Re:What's wrong with html and javascript? (0)

Anonymous Coward | about 2 months ago | (#47240729)

Javascript sucks but gamemaker is shite too, we don't need any point-and-click environment for dumbass, we're talking about real language, capito ?

Re:What's wrong with html and javascript? (1)

Anonymous Coward | about 2 months ago | (#47240747)

Why you little wusaaaaaaaaaaaaaaaaaaaaaaaaaaay!

Gamemaker can do anything.
There's nothing that Gamemaker cannot do.
Gamemaker doesn't have a single flaw.
Gamemaker is excellent.
Gamemaker's the best.
Gamemaker, Gamemaker, Gamemaker!

Why have you not returned?
Because you've been indoctrinated.
Because you're inconsequential.
Because you're unworthy.
Change yourself, and return!
Return to the magnificent paradise.
Return to the heavenly lands!
Return to the glorious paradise!
You may return.
You can return.
You will return.
You *shall* return.
Return... to Gamemakerdom!
Return!
Return!
Return!
Return!
Return!

Return, return, return, return, return to Gamemakerdoooooooooooooooooooooooooooooooooom!

Re:What's wrong with html and javascript? (1)

angel'o'sphere (80593) | about 2 months ago | (#47240691)

As soon as you want to do kore than C like programming in JavaScript it is a. hell to learn.
How many different ways does it support for OO programming defining inheritance, classes, higher order functions, prototype bases object systems etc. etc.?
If younlearned JavaScript in 17minutes you likely use less than 17% of its features.

Re:What's wrong with html and javascript? (1)

holophrastic (221104) | about 2 months ago | (#47240759)

read the original post again. he's looking for one-off tools. 17% of javascript is plenty for 70% of tools. the HTA (JScript) will provide the other 30%, no problem.

Re:What's wrong with html and javascript? (2)

narcc (412956) | about 2 months ago | (#47241125)

If younlearned JavaScript in 17minutes you likely use less than 17% of its features.

You're right about that. A big part of the "hate" seems to come from people unwilling to learn the language. I assume because they assume they already know it, due to it's familiar syntax.

I'd argue that it's rather easy to learn. Easier than, for example, Java or C# for a beginner. Prototypal OO is much simpler and more "powerful" than Classical OO. Half the problems people new to JS suffer seems to come from dragging all that classical baggage with them. I suspect it's why so many people seem to have trouble with the 'this' keyword.

Re: What's wrong with html and javascript? (1)

osiaq (2495684) | about 2 months ago | (#47240707)

I admire your sense of humor, teach me!

Re:What's wrong with html and javascript? (1)

NoNonAlphaCharsHere (2201864) | about 2 months ago | (#47240779)

So your question is "What's wrong with HTML and Javascript?" and then you go on to say you prefer Perl for data processing. And me without mod points.

+11 Funny

Re:What's wrong with html and javascript? (1)

holophrastic (221104) | about 2 months ago | (#47240821)

the former for the original poster's skills-set, the latter for mine. I've got more equipment, and decades with perl.

Re:What's wrong with html and javascript? (5, Funny)

PolygamousRanchKid (1290638) | about 2 months ago | (#47240795)

javascript takes about 17 minutes to learn --

. . . and 17 hours to debug . . .

Re:What's wrong with html and javascript? (1, Interesting)

holophrastic (221104) | about 2 months ago | (#47240855)

only if you've never learned how to debug javascript. If you're using debugging tools, then yes, 17 hours is about right. If you've been debugging interpreted languages for decades, then it's no big deal.

Just keep running it as you code -- every time you type a semi-colon, hit F5. When it doesn't do what you expect, the problem is in the last line that you typed. There's no compiling, and there's no linking, and there's no delay. In an hour of coding, you should be executing it well over 30 times. Adapt your coding style to sequence things atomically, and you won't have any problems.

Until you type "tmep" instead of "temp" and it takes you a day to figure it out because javascript does very stupid things with variable scope that no other language would consider legal in any way -- like variables being in-scope before the line declaring them.

Re:What's wrong with html and javascript? (2, Informative)

Splab (574204) | about 2 months ago | (#47240919)

Are you insane?

There is no way your shot-gun approach to debugging is ever faster or better than dropping JS into a debugger; having something like intellij hook into your browser and debug your code running in an IDE is by miles better and faster than what you suggest.

Especially if you are doing something difficult and not just trying to load an ajax request...

Re:What's wrong with html and javascript? (-1)

holophrastic (221104) | about 2 months ago | (#47241007)

Glad your way passifies you. I've been profitting for two decades now. I'm telling you that I've made over a million dollars doing it this way. You can go about it any way you choose. I'm saying no IDE, no debugger, no delays, no learning, no time wasted means no complexity. It's just me and the code and the output. I'm saying that works best.

I'm saying that works best six months later when the client wants a new feature. I'm saying that works best a year later when I'm with a client, in a field, with a compound bow in my left hand and an arrow tail in my right and she asks me how much a new feature will cost and how long it'll take to deliver and I can give her an answer before my arrow hits the ground nowhere near the target.

Again, you can do things any way you like -- or have been taught. I've never listened to anyone who's attempted to teach me anything in this industry. You and I are very different.

Re:What's wrong with html and javascript? (1)

petes_PoV (912422) | about 2 months ago | (#47240899)

javascript takes about 17 minutes to learn

Learning the syntax of a language is the smallest step towards actually using it. If you want to do more than write "Hello World\n" you need to learn an IDE, and all the relevant libraries. That is what takes the years of experience. Especially in these days where people assume (incorrectly) that IDEs are "intuitive". There's nothing worse than having to waste a day clicking around in a piece od code trying to find the one, obscure, little windowy attribute that the guy before you used to set a feature.

Since IDEs make documenting code and teaching the learning process virtually impossible: there's no printable version, which makes referencing it and publishing books on it a mess of pictures of windows and option buttons, while the language structure may be simple the IDE / library learning curve is very long-winded.

Re:What's wrong with html and javascript? (-1, Troll)

holophrastic (221104) | about 2 months ago | (#47240981)

You and I can't live together. I'll never sleep with you. I'll never share a meal with you. You and I, we're done.

I've spent 3 decades avoiding IDEs. From LOGO at age 5, through my own business to this day. No IDEs, ever. LOGO, basic, C, C++, C++/DirectX, Lotus Notes, Perl, HTML, Javascript, PHP, HTA, CSS, Pipelines. I've used notepad, and now ultraedit for syntax highlighting, and proper find tools, and integrated ftp, but that's about it.

I'll never choose to waste my time learning an IDE -- which amounts to someone else's idea of how I should use a given language. I'll write my own, thank you very much.

Xojo (formerly RealBasic) (0)

Anonymous Coward | about 2 months ago | (#47240693)

It's easy to learn and easy to use. Works on a lot of platforms. Includes good support for GUI development. Works for small and simple projects but scales up to large and advanced projects too.

Re:Xojo (formerly RealBasic) (0)

Anonymous Coward | about 2 months ago | (#47240965)

And only costs $900.00...

Re:Xojo (formerly RealBasic) (0)

Anonymous Coward | about 2 months ago | (#47241045)

It's $995 for Xojo Pro. It starts at $300 if you don't want the full package and renewals are around half the initial price. Not that much for a tool that you use every day to be honest.

Clojure ? (2)

boorack (1345877) | about 2 months ago | (#47240699)

With ClojureScript it now covers both client side and server side.

Re:Clojure ? (0)

Anonymous Coward | about 2 months ago | (#47240765)

Because ClojureScript compiles down to ridiculously large file sizes.

Programming language in 2 hours ? Yeah, right. (4, Insightful)

Anonymous Coward | about 2 months ago | (#47240715)

You have never been able to learn a programming language in a couple of hours.

It's just that some languages manage to trick you into thinking you can - and then those of us who actually do know what we are doing have to come along and fix the resultant mess.

In answer to your actual question, my first suggestion is Python. It's used everywhere, not only on the Internet, but also as the scripting language in a wide range of traditional type applications.

Re:Programming language in 2 hours ? Yeah, right. (1)

NotSoHeavyD3 (1400425) | about 2 months ago | (#47240777)

Hell I'm one of the guys that harps on how quickly you can learn a language and even I agree with this. I mean I know I say that since I know C++ I was able to learn C# very quickly since the syntax is largely the same. But I'd still say it was at least a couple of weeks before I was pretty comfortable in C#. (No, I don't think it'd take any decent C++ guy months or years to get as good in C# but still it's not nothing either.) Mod the parent up. (I know I know, the mods can't because they're too busy modding down pointlessly, they have no points left.)

Re:Programming language in 2 hours ? Yeah, right. (1)

Anne Thwacks (531696) | about 2 months ago | (#47241089)

You have never been able to learn a programming language in a couple of hours.

You can learn Snobol (the original, not Snobol4) in a couple of hours. Unfortunately, you probably can't actually do anything useful with it, but that was not required by your original post!

Why Slashdot, why!? (-1)

Anonymous Coward | about 2 months ago | (#47240741)

Is it just me or does Slashdot now have adds?

Re:Why Slashdot, why!? (1)

Anonymous Coward | about 2 months ago | (#47240875)

Slashdot has had ads for a very long time. However, for long-time registered users the "Disable Ads" checkbox is broken and ads are still shown.

Perl?? (0)

Anonymous Coward | about 2 months ago | (#47240743)

Pathologically eclectic rubbish lister?

I don't really get the segregation of the languages. Actually i think you would still be able to pick up a language in a couple of hours. The only problem would be when you have to clue yourself into a library's idiosyncratic double think. This is probably truer when you're used to some conveniences afforded by your language of choice.

Re:Perl?? (1)

Richy_T (111409) | about 2 months ago | (#47241097)

Agreed. There are a few paradigms that you really need to get your head around before you can use some languages (OO and threading, for example) but new languages tend to be mostly just learning how they do the same old thing.

Python + Qt (5, Informative)

CQDX (2720013) | about 2 months ago | (#47240767)

With Qt you can develop for desktop or mobile, with a GUI or not. With Python you can do simple scripting all the way up to full-blown apps. Once you become familiar with Qt you can also fallback to C++ if you need the performance. You also have the option using Qt's GUI as traditional widget or Javascript based Qt Quick.

Re:Python + Qt (3, Interesting)

MrEricSir (398214) | about 2 months ago | (#47241019)

I'd second the QtQuick recommendation. What I like about it is you can easily slap together a standalone UI prototype and worry about the backend later.

Swift (0)

Anonymous Coward | about 2 months ago | (#47240787)

Swift is a modern language with all sorts of cool features. There may be a few languages that are even cooler, but they do not have what Swift has: a first rate IDE, one of the very best frameworks for writing GUI apps, a billion dollar company that pumps out documentation, and a massive developer base all running on a platform with hundreds of millions of users who are willing to pay money for good software. Seriously, even though it has been out for like a week it has more developers than Haskell, Scala, O'Caml, SML, Erlang, etc... combined. By this time next year there will probably be more Swift libraries and packages than all those other languages/platforms too.

Just being realistic, I don't even own an iPhone.

Seriously? (-1)

Anonymous Coward | about 2 months ago | (#47240811)

I'd like to update my applied coding skills to take advantage of the best that software development now has to offer

I'm not officially a coder or anything near it; I just need to code to get my real stuff done and can't afford to spend much time researching/studying multiple alternatives

Maybe you should leave the coding to people who actually know what they're doing? If you're just a 'dabbler' then your code will always suck in every language and 'real' coders will smell it a mile away. Looking for the latest, greatest, buzzword to add to your resume will not improve your skills.

Re:Seriously? (5, Insightful)

mrvan (973822) | about 2 months ago | (#47240923)

Maybe you should leave the coding to people who actually know what they're doing? If you're just a 'dabbler' then your code will always suck in every language and 'real' coders will smell it a mile away. Looking for the latest, greatest, buzzword to add to your resume will not improve your skills.

I really disagree with this. I think everybody who touches computers and data for a living (and who doesn't, nowadays?) should know some essential programming. They might never use it, but they'll understand so much more on what is going on.

I am very far from a car geek, but I can point to the basic components of my car and has some clue about what they do; same for small jobs around the house, basic management skills, etc etc.

Re:Seriously? (1)

sillybilly (668960) | about 2 months ago | (#47241001)

Maybe you should leave driving to people who actually know what they are doing. Or talking, leave it to the lawyers, and don't ever talk. Hey, some things you gotta do yourself in life, unless you were born as nobility, with special birth privileges, and then you don't even have to do the walking yourself, because some people, called slaves, will carry you around in a box, called a litter, http://en.wikipedia.org/wiki/L... [wikipedia.org]

Re:Seriously? (0)

Anonymous Coward | about 2 months ago | (#47241111)

Dumbest comment of the day award. Congrats!!

Type of applications (1, Insightful)

geoskd (321194) | about 2 months ago | (#47240817)

It all depends on what kind of applications you need to write.

If you're looking to write back-end or network applications that do not require a GUI, then I would still recommend C++ with one caveat. Get and use the Boost libraries. You will find that these libraries fix most of the crap that was broken about C and C++. C++ is not necessarily the easiest language to use, but you already know it which is a tremendous advantage.

If you need to do front end / GUI development, I recommend JavaScript. Not because its easy to use, but because web browsers are everywhere, and largely platform agnostic at this point. There are plenty of systems out there that build on top of JavaScript, and any of them would be worth a look.

Re:Type of applications (1)

rubycodez (864176) | about 2 months ago | (#47240901)

C++ would be absurd for systems admin and operations scripting, however. Other langauges do all those things and also excel in the operations/admin/batch processing realm - Python, Perl, Ruby

Re:Type of applications (1)

arth1 (260657) | about 2 months ago | (#47241003)

Most ops/admin/batch processing can be done with sh, sed and awk. Perl and python are nice fourth and fifth languages after these, but proficiency with the first three tends to be more valuable for an admin than the latter two. It's a certainty that you will have to maintain other people's shell scripts, and expanding them with a well placed inline sed or awk program can be oh so helpful.

There's no question that perl gives you the most bang for the buck, but maintaining perl scripts can be painful. Like with advanced regexps, the easier solution is often to replace a chunk of code than to grok it. Even if you were the one who originally wrote it, and commented the hell out of it.

Re:Type of applications (1)

rubycodez (864176) | about 2 months ago | (#47241099)

I do all of those languages in my daily job, but awk/sed/sh is inferior because of the chances for bugs are greater in a script with any complexity due to the arcane rules and syntax, and topic is of languages good for "programs" not just dozen-liners. I don't see how maintaining Perl scripts is any more painful than effort required for any other scripting langauge. Note the built-in tools packaging and admin are already done in Perl and Python in most (most being all the dozen or so I deal with 8D ) BSD and Linux distros.

C + Lua (2)

Kensai7 (1005287) | about 2 months ago | (#47240835)

Since you already know C, you good get really fast Lua. Lua with C (and C-like) libraries will lead you fast to productivity.

Re: C + Lua (0)

Anonymous Coward | about 2 months ago | (#47240887)

forget C and just use luajit

Java in an IDE (1, Insightful)

Sesostris III (730910) | about 2 months ago | (#47240851)

Java in Eclipse or NetBeans. It's not interpreted but you can create it and run it in-situ ('Run As' in Eclipse). It also ticks most of the other boxes (web - Apache Tomcat. Mobile - not looked int this but there's mobile Java or there's Dalvik. GUI - Swing, SWT or JavaFX). I believe that NetBeans may be better for visual GUI development (I'm not familiar with NetBeans. I use Eclipse and set things up manually with Swing if required).

The only down-side is the learning curve. However there are lots of resources on the Web, and many books available. It is also cross-platform, maintained (by Oracle) and free (Gratis and, if you use OpenJDK, Libre). There are also plenty of third-party libraries you can download.

If I need something quick and dirty, it's what I use. (But then, I'm a Java developer so probably biased!)

Re:Java in an IDE (1)

mrvan (973822) | about 2 months ago | (#47240947)

Sure, if you like typing stuff such as


Set s = new LinkedHashSet()

Just because the compiler needs to know advance every method of everything you are ever going to put into your container...

Java has its uses, and for certain hard-core back-end software it might be the most appropriate language; but for writing quick and dirty scripts to get stuff done, for prototyping, and for UI I would stay very far away from it.

(but then I'm an ex-Java developer so probably biased ;-))

Re:Java in an IDE (1)

mrvan (973822) | about 2 months ago | (#47240961)

(frigging slashdot ate my generics!)

Sure, if you like typing stuff such as

Set<? super TreeMap> s = new LinkedHashSet<TreeMap>()

Just because the compiler needs to know advance every method of everything you are ever going to put into your container...

Java has its uses, and for certain hard-core back-end software it might be the most appropriate language; but for writing quick and dirty scripts to get stuff done, for prototyping, and for UI I would stay very far away from it.

(but then I'm an ex-Java developer so probably biased ;-))

Re:Java in an IDE (0)

Anonymous Coward | about 2 months ago | (#47241119)

FYI, Java 7 lets you type:
Set<? super TreeMap> s = new LinkedHashSet<>();

Re:Java in an IDE (1)

Sesostris III (730910) | about 2 months ago | (#47241123)

Ah well, you beat me to it! I should've refreshed before typing.

Re:Java in an IDE (1)

Sesostris III (730910) | about 2 months ago | (#47241035)

Actually, it's worse. Ideally it would be:

Set<Object> s = new LinkedHashSet<Object>();

Or, I believe in java 8 you can infer the type as follows:

Set<Object> s = new LinkedHashSet<>();

That's why I suggested in an IDE. It will generally help the coder. However, I take your point!

Re:Java in an IDE (1)

itamihn (1213328) | about 2 months ago | (#47241133)

The diamond operator is available since Java 7.

Re:Java in an IDE (1)

Splab (574204) | about 2 months ago | (#47240963)

If you are doing any serious Java programming, buy an IntelliJ license (or apply for a free OS license). It is miles ahead of Eclipse and NetBeans.

Re:Java in an IDE (1)

Z00L00K (682162) | about 2 months ago | (#47240991)

For most cases Eclipse is sufficient.

So unless you are prepared to put up money Eclipse is not a bad choice.

I agree Python (5, Informative)

Joe Tennies (564856) | about 2 months ago | (#47240873)

My vote is for Python. My reasons are that it'[s very good for the rapid part. There's also tons of libraries to do darn near everything under the sun (see pypi.python.org). Finally, one thing in their mantra is that readability counts. This means that you can pick up your project several months later and know what it does... maybe even someone else's! Try doing this with Perl or Ruby, and it's much harder.

Python works quite well on the UNIX like systems, decently on Windows, has good command line helper libraries (argparse or optparse), and has several really good web frameworks. Heck, you can use IronPython or Jython and mix into your .NET or Java code!

The biggest weak point is probably full GUIs. It's not that there's not any good ones, there's just not a good default one. TkInter is built-in, but it's based on Tcl/Tk, the interface isn't very Pythonic, and the end result isn't great. WxPython is good for a basic GUIs, but adding custom widgets is hard. PyQt and PySidehas a more complete collection of widgets, but it again is tough to add new widgets. PyGTK has the large collection of widgets, and widgets can be written in Python and become first class widgets even in other languages. The new kid on the block is Kivy, which is kind of like QML for Python. Kivy defines very low level functionality that builds up widgets, but it makes it easy to combine them together to make a complete widget. This sounds like a lot of work, but it turns out to not be as bad as you'd expect.

Also, PyDev, PyCharm, and WingIDE are all pretty amazing IDEs for Python.

Finally, there's a good amount of jobs asking for Python, especially in big cities.

Scala (4, Informative)

bunratty (545641) | about 2 months ago | (#47240903)

I've preferred Python for small projects and Java for larger projects. I like Java, but it's so verbose that it's annoying to write short programs in it. I've been learning Scala over the past few months, and it looks like it combines the best of both worlds. Programs are much terser than they are in Java, often looking more like what I would write in Python. But Scala is typechecked like Java is so you see errors at compile time rather than when conditions are right to trigger a problem as in Python. Scala also runs on the JVM, so it's fast as opposed to Python.

Javascript (1)

BitcoinBenny (3025373) | about 2 months ago | (#47240917)

I'm not a huge fan of the language, but it is absolutely everywhere. Completely pervasive and very accessible.
By learning javascript you can:

Build cross platform web based front ends
Do cross platform mobile development (Cordova/Phonegap/Titanium)
Build backend systems, apis (Node.js)
Interface with tons of third party systems and services which have exposed restful/json apis.

So from a practical perspective it is definitely the way to go, most bang for your buck. Shallow learning curve, lots of use cases. If you are already programming in C and Lisp this will be a breeze.

Re:Javascript (1)

Z00L00K (682162) | about 2 months ago | (#47240999)

JavaScript is good if you want portable web browser stuff, but otherwise it's not type safe and therefore tricky to debug.

Stop Stalling. Use Python. (4, Interesting)

conoviator (1991610) | about 2 months ago | (#47240977)

Tons of online books and tutorials. See https://wiki.python.org/moin/P... [python.org] . Python is my go-to language for just getting stuff done. I use it for damn near everything these days, except mobile apps, which I code natively.

Golang (0)

Anonymous Coward | about 2 months ago | (#47240987)

It takes one week to become expert.

From the left field... Haskell. (1)

Anonymous Coward | about 2 months ago | (#47241015)

It's one of the most concise and expressive languages out there, and this combined with the static typing makes it a fantastically maintainable languages.

There are a tonne of brilliant libraries available on hackage, all of which are barely known outside the Haskell world. Many of them offer capabilities unavailable in any other open source software. For example:

http://hackage.haskell.org/package/regexpr-symbolic

As a drawback, you'll spend a lot of time fixing typing errors. But your software will be correct!

And you'll be adding to the critical mass of functional programmers in the world, aiding more widespread adoption by PHBs around the world.
Of course, my 'best' is more of a global/personal one than in your own interest. But perhaps you'd really enjoy it. It's nothing if not wonderfully exotic to anyone coming from an imperative/OOP programming background.

Pick a fruity language of the week (0)

Anonymous Coward | about 2 months ago | (#47241023)

Just pick one of the fruity languages and learn it for a few weeks and watch it go into obscurity in a few months. Develop lots of mission critical software in it and watch everything fall to pieces.

Im stickng wth C and shell scripting (0)

Anonymous Coward | about 2 months ago | (#47241031)

Most Rapid dev languages don't have as broad capabilities as C does. Just about every library has a C/C++ API, not all libraries have ported APIs for other languages. Plus Rapid Dev Languages come and go. 10 years ago Perl with King, Today its Python. Who knows, in 10 Years Python will probably be replaced. Also C programs can usually run on any machine without having to install the RapidDev tools on the machine. If you want to run a Python app, you need to make sure that Python is installed along with any API libraries that you app needs. With Python there are also multiple versions and often the code isn't compatible. for instance some older python apps won't run on Python 3.3 and apps written for 3.3 won't always run on 2.7. If you upgrade/downgrade python on a production box you might break something that is already using that version.

  I also need to write code for both windows and Linux. On windows it can be a pain to install RapidDev languages, and I prefer not to load up windows machine with RapidDev tools, especially if it just for a one-time job. Also a lot of the code I write for Windows there is no RapidDev libraries, such as MAPI, VSS, COM, etc.
For scripting I stuck with bash on Linux and cmd\cscript on windows (I never bothered to to switch to powershell).

JavaScript is the only right answer (0)

Qbertino (265505) | about 2 months ago | (#47241041)

If you're looking for the most relevant RAD Language today and the one that's the strongest upcoming, that would be JavaScript. No two ways about it. Python is definitely the more interesting, simply because its syntax is more modern - JS is basically a member of the C + Java line of languages and a prime objective of Python was to do away with the clutter.

But in terms of momentum, there's no single doubt about the rapidly increasing significance of JS. With Node.js it has gotten hold on the serverside again, as it used to have back when Netscape Webserver was the only webserver around, and since the dimishing importance of Flash and the parallel increase in importance of mobile web-centric devices it has become the got-to technology for client-side logic in the mobile space. It's cross-platform and there's an engine for it in every browser. It's that simple. The increasing fragmentation of end-user devices is driving battalions of developers to JS as we speak and with the second half of humanity to be connected to the intarweb via cheap mobile devices within the next few years I don't think JSs' momentum is going to dimish anytime soon.

Bottom line:
If you need or want to bet on a single RAD PL today, JavaScript it is. Frontend to backend. Strange but true.

LiveCode (0)

Anonymous Coward | about 2 months ago | (#47241077)

You want powerful that works on all platforms with one code base..? Check out LiveCode.

Filemaker Pro (0)

Anonymous Coward | about 2 months ago | (#47241115)

Filemaker meets all your requirements almost perfectly. I'm sure a bunch of coders will pile on and bash but considering what you asked for I strongly recommend you give it a serious look. I often find myself turning to it when I need to whip up a quick solution to a data problem and sometimes end up using my quick solution as a full on production platform. The fact that the same effort works damn near seamlessly in OSX, Windows, Web and iOS simultaneously with no extra coding makes it very slick for what you seem to be looking for. My only gripes are lack of android fat client and no built in rollback.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>