

Help me choose: A new development language/platform. - michaelawill

Both the language and platform should fit these criteria:<p>* Developing under windows. Where I work developing on Linux isn't really an option.
* Web Development preferred. Most of the applications I make are web applications.
* I like to create very clean interfaces but a platform that can make a good looking interface wouldn't hurt.
* Pulling data from SQL and updating SQL is going to be the core of every app. I'd rather not go with a language that makes this painful.
* I'm looking for something more than my current Visual Studios (VB.net) while at the same time I admit I'm no genius and there are probably some languages/platforms I won't be able to teach myself.
======
CyberFonic
I vote for Python. It comes with SQLite and can handle all other databases out
there. If you pay just a little attention, then your code will run equally
well on Windows, Mac OS/X and Linux. The site-packages contains almost
everything that you could possibly need and there are many other excellent
packages available. Increasingly Python is being used as the first language
taught as part of computer science courses at most well regarded universities
and there are many excellent books available.

If you are totally Windows focused, then IronPython will allow you to enjoy
most of the Python advantages as well as giving you full access to .Net
Framework. There also is Jython if you are more JVM inclined.

There are several web frameworks to choose from as well, Zope, Django, Plone,
etc. And of course, you might want to check out Google AppEngine.

I prefer to use wxPython (wxWidgets) for GUI programming to maintain
portability. But you could choose to use WinForms or WPF with IronPython.

With companies like Disney, NASA, Google, ILM using Python, you have to put it
at the top of your list.

For more info: <http://python.org/>

------
mahmud
Don't you feel curious to study and learn everything out there? you're already
a programmer; ever thought of venturing out, if even for a weekend? don't you
talk with people and have programmer banter?

I taught myself Pascal and Basic in week, and the first kid I spoke to who
knew how to program told me: "Pascal and Basic suck, learn Delphi". I didn't,
I learned Turbo C and Assembly, and I told everyone I met how _they_ suck ever
since.

For the sake of programmer banter and my own immaturity, allow me to say that
VB.net sucks! now go and learn everything else :-) including languages that
make non-corporate programming painful (i.e. because they're far too beautiful
to be abused with SQL.)

~~~
michaelawill
When I was younger I was like that and I still get that way when I hear about
new platforms and see what people have created using them. I waste a lot of my
free time on video games and I want to branch out and expand my
knowledge/experience. I feel I should go with 1 language/platform at a time
because that's the quickest route to returns in my current job.

~~~
mahmud
Mozart/Oz and the book Haridi and van Roy.

Mozart/Oz is the kitchen sink of programming language semantics. It has
_everything_ , and just one uniform core syntax where the rest is built on.

Brush up on your emacs as Mozart's IDE is built with it, just a few handful
commands though.

P.S. Drop the video games; they channel your natural, healthy aggression and
curiosity into useless entertainment.

P.P.S. before the gamers jump at my back; to each his own, it's my opinion.

~~~
michaelawill
I'm 26 and starting to realize how boring most video games are now adays. I
played WoW for 4 years and gave that up 6 months ago. Tried some other games
and really have seemed to lose most of my interest in them. Right now I'm
playing wiiware, the new FFIV sequel. It's very short and I'm taking my time
with it. But with all this free time I hope to set out and master a new
language/platform and make a few sweet applications to impress higher ups.

I'm having trouble finding some examples of web apps created with Mozart.
Could you point me in the right direction?

------
bdfh42
Stick with asp.net - it works and scales. You could always break out in C# if
you need a change.

Database integration is a snip (and I avoid data bound controls like the
plague) and Ajax works just fine. You can even use JQuery at the browser end.

~~~
michaelawill
Maybe I just need to learn ways to make my applications look less generic.
Whenever I hear about some new development platform I feel like maybe I'm
pigeon-holing myself by sticking with Visual Studios. I want to be a valued
contributor and no better way to do that than to create applications that WOW
those above you.

~~~
synnik
Sadly, you are already pigeon-holed because you are stuck with Windows and
SQL. Stick with VS.NET for your platform. But also look into what JQuery can
do for your front ends. There are many JavaScript frameworks that could also
add a lot of value, but I recommend JQuery because Microsoft is using it in
their new versions of SharePoint.

Bottom line: If you have to be stuck in Microsoft-land, work with them, not
against them.

~~~
khafra
It's a large pigeon hole--ironruby on rails is certainly possible. But to stay
more idiomatic to .NET, F# is fairly comparable to Ocaml. Concurrency-friendly
functional programming will allow you to hang out with all the coolest kids
and grow a long, greasy beard.

------
ScottWhigham
I like VB but I love C# - it's so clean, so easy, and so nice. I think that
the Visual Studio/ASP.NET setup is just great for Windows development
particularly if you'll be using an MSSQL backend. I'd encourage you to learn
C# and really master ASP.NET.

Aside from that, I'd suggest augmenting your ASP.NET skills with:

* ASP.NET MVC

* jQuery

------
cdeutmey
SQL Server -> ASP.Net web service -> Adobe Flex front end. This setup has been
working quite nicely for me.

~~~
michaelawill
One of my friends uses this at his work to pretty good affect. The price of
the software kind of scares me off though.

------
noodle
web development on almost any non-.net platform can be done on both windows
and/or linux.

you should pick what you want to use and see if you can use it on windows.
because you probably can.

