How many programming languages do you use at one time? [closed] - programming-languages

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
During a normal work-day, tackling a variety of tasks, there's the potential for several programming languages to be used.
There's application work, with C#, VB.NET, C++, Java, Fortran, then there's database work with involves SQL, and then there's maintenance work involving languages like Python, Perl, PHP, or even bash scripts and similar.
Which programming languages do you use, for which task, and why?
Since this is a poll-type question, please state your main line of work, be it developing web applications or desktop applications, systems maintenance, systems administration, etc.

To make maintenance easier you want to keep the number of different programing languages to a minimum.
For me the answer is that I use 2-3 in an average project.
Currently I use three languages at work:
1. C++ for needed low level programing.
2. C# for application level programing.
3. VB.NET for some VB related functionality and code examples shipped with the application.
I've used C# and C++ in many projects and found that it covers most of the project's needs.

I am a web application developer, in the last week I've done the following:
Created Stored Procedures using T-SQL for SQL Server
Debugged Perl Script that created databases
Written C# Web-service code
Written JavaScript (Both with and without JQuery)
Debugged CSS and HTML issues in IE6 and IE7
On my personal time, I've also used the ASP.NET MVC platform and C# to write a customized Content Management System.

Our shop focuses almost exclusively on VB.NET, but you could also say that I have to work with VB and JavaScript since I do a lot of ASP.NET development.
SQL if you want to count that as a programming language as well.

For web development:
PHP-JS-SQL-{HTML}-{CSS}
Lets count this as... 3.5 languages?

Neverminding the other languages I deal with, the first number I thought of was 5, with the list having only one entry: "Javascript"... damn browsers. :)
I suppose "optimal" is measured by the fewest which allow you to create a solution which is reasonably maintainable down the line.

Probably 1/2 a day mainly switching between Ruby / plpgsql (if that counts?) and BASH.
Though sometimes I may have to debug some JavaScript.

It really depends what you are doing.
For a web developer, it would be very common to work with a client-side and a server-side language every day, such as javascript and Java.
Edit: you would use HTML and possibly XML, but these are markup languages. I'm honestly not sure what CSS would be considered, but yes, you use that also.

The fewer programming languages I'm dealing with at any given moment in time, the fewer times I find myself making really dumb syntax mistakes.

On a given day I try to limit it to 2 or 3, but in a given week it may be 5 or 6.

On a good day, one. On a bad day it's 6-7. I find myself looking up simple syntax a lot more when I'm using many at one time.

I work as a web developer so on any given day I will be writing/debugging HTML, CSS, Javascript and .Net apps. In my free time I enjoy c++ and c#. I have also been contracted to port a vb app to c# so its going to get interesting...
If I were learning a new language, I would definitely recommend C++ and C#, interesting, powerful and if you are good in c++ you can probably work in anything...

I work for a creative studio and do some freelance work. I am often switching between the following:
Actionscript 2 (mainly on old legacy projects)
Actionscript 3 (most of my day job projects)
javascript (personal projects/user scripts)
C# (getting a few projects now for WPF)
Processing (quick sketches of ideas/personal projects)
Also some markup and other "languages":
HTML/CSS
XAML
XML (didn't want to put this, but I use it a lot)
regex (does this count?)

Mostly C#, followed by XSLT/XPath, T-SQL, Javascript, VB.NET when it's forced on me, Power Shell, VBA, and HTML and CSS if you're counting those. So that's about 6-9.

I use 3 languages every days and 6 or so every weeks.
BUT I really know only 2, maybe 3 of them. When I code using the others, I'm googling every 5 minutes !
(Hey, but it works ! :)
Every day or so : VB.NET, C#, SQL/T-SQL.
Every week : HTML, XML, C,
JavaScript.
Every other weeks : Make files, batch
files.
Really known languages : C, C#,
VB.NET.
Cool question ^^

VB.NET and Javascript at work, with a healthy dose of CSS.
VB.NET, VB6, C++, Javascript, PHP, C#, 65816 ASM, and a bunch of smaller languages at home, for whatever little project I'm working on at the time.

I've been fortunate to be working with just one language for the past year: C++/CLI. And each day I'm surprised by how little of it I actually know.

Related

Atom built on Node.js isn't that a recipe for performance flaw? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
Note: This is not an attempt to bash Atom in any way. These are the questions I had and it's overall about the choice of Tech Web instead of a Native one.
This is me trying to understand the goal of it, and if it's a solid tool to use in general.
( I have Atom, and I use it sometimes - test driving - )
Why wouldn't they make it native which would be faster and solid?
Is Atom focused on entry level Web Developers? Is it supposed to be cool instead of functional?
Is it a reliable and solid tool for "real" / heavey programming (with languages like C, C++, Java, etc)?
Yes it's at its begining but why would they go with web tech (node.js) to start a product that would turn out to be slower than with native tech?
It can't even handle big files!
Why is Github advertising Atom (https://www.youtube.com/watch?v=Y7aEiVwBAdk) as a tool for programming machines (rockets and low-level programming) with Javascript!!!
And again: Is it supposed to be cool instead of functional?
making it native means you need to compile it to use it. Since one of the goals of Atom is to make a hackable (to the core) code editor, making it in javascript, css, and html allows people to use it \ changing it without compiling any code which allows a quicker flow. Since it's more of a code editor+ than an IDE, basic functionality isn't harmed so much by the performance difference.
no. It's meant for real engineers. the kind that wants to mess with the code editor they work with and tweak it to their needs. This approach allows you to create extensions a lot easier than standard IDEs and code editors.
yup. real programmers usually do real programming. It doesn't matter if you use notepad or whatever. Actually, a lot of programmers prefer the simplest text editors (and some don't). One of the reasons programmers give for that is that it keeps them sharp on all the little things that IDEs usually do for you.
Node is an exciting JavaScript language for web development that has been growing in popularity in recent years. It started out for small development projects and has since penetrated the enterprise and can be seen in large companies like Microsoft, eBay, LinkedIn, Yahoo, WalMart, Uber, Oracle, and several more. Most of them actually improved their performances since the move. Just a few examples [taken from the MEAN Machine book by Chris Sevilleja and Holly Lloyd]:
Yahoo started experimenting with Node back in 2010. At first they just used it for small things like file uploads, and now they use Node to handle nearly 2 million requests per minute. They have noted increases in speed and a simpler development process.
LinkedIn began developing the server side of their mobile app entirely with Node. They were previously using Ruby, but since the switch they have seen huge increases in performance, ranging from 2 to 10 times faster.
PayPal has recently jumped onboard and began migrating some of their Java code to Node. They began experimenting with just their Account Overview page, but once they saw a 35% speed increase and half the amount of time spent on development, they started moving all sites to Node.js.
It's just a commercial. It's suppose to pay tribute to old technology commericals like the AOL commercial from 1999 https://www.youtube.com/watch?v=1npzZu83AfU
It's supposed to be both. For a more detailed answer, read the previous bullet which answered the question the first time you asked it ;-).

Wish to learn a new programming language [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I wish to learn a new programming language but there are so many out there! So thought I'd ask here if there are any that correspond with what I wrote in this list that you might know of:
Making applications with GUI
That would preferably run on any system, preferably Windows (I run Windows 7)
That would not need a hardcore IDE and hopefully no compiling
That is not incredibly advanced (Hard syntax paired with OOP etc.)
That does not need any 'platform' or 'component' installed to work (can be opened with a click, say an .exe file or any other file type)
I already know:
HTML, JavaScript and PHP
Thanks in advance for your input.
I'd recommend Python to anyone.
You seem to have some mutually exclusive options here.
For example, no compiling and opening an .exe. An exe file is generated via compilation.
IMHO, Qt probably best suits your needs. It runs on just about everything, doesn't need an IDE (though qtcreator is a fantastic one, I suggest trying it before you choose not to use an IDE) and is easy to learn and well documented.
If you want compile-less then you'll need to use the python or other scripting language bindings too it.
I would suggest C-sharp / F-sharp combination with WPF thrown into that to get GUI's going...
It a pretty rough learning curve but the combinations are endless...
A couple things to certainly look into:
PRISM
M-V-VM ( Model , View, Viewmodel)
If you are interested in an other back-end persistancy try going into object databases, such a great new world opened up for me when I discovered all the things you can do with that... ( DB4O is my preferred one at this moment.. it has loads of info and a very active community )
It is only limited by your imagination ;)
This is one of those questions of having 10000 people going to an Ice cream shop and then choosing which flavour they want. So far I have worked with Delphi and C#, I am doing SQL, Asp.net and javascript, well, basically!
The answer should be somewhat simple. Go check out which programming language fits your needs, and is in great demand in the working world. If you want to program websites for companies, then PHP, ASP.NET and the older HTML is for you. As far as I know, flash is also coding.#
Another way to look at this question is not only the availability of the language you seek, but its future, if it will become obsolete or the coding language of the century.All coding is the same, but some are more rigorous in certain tasks (like C# and delphi are good languages to build forms applications to handle tasks for data manipulation, integration and whatnot.)
The answer to this question is to explore! What is Your flavour? Sitting in front of a desk doing CRUD operations and staring into a gui which has countless buttons and textb
oxes, but real in-depth code, or to start into a rich gui with XML based code?
I recommend HTML5+Javascript.
You can use Canvas or SVG for
graphic.
It works depending on the browser. So
any OS or system can use it.
Javascript and HTML can be edited in
any thing for example: notepad.
You can write your JS using OOP.
How to open a HTML file? just
double-click on it.
Have fun :)

Guidance on broadening horizons

Let me setup my question with some info. I'm not in college yet and strictly a hobby programmer. Probably a little more than 2 years ago I got started programming on mac. I started with very simplistic GUI examples with Cocoa and XCode. Long story short, I learned from the top down, first learning objective-c, then venturing into more "low-level" projects where I became better at basic C and even used a few C++ libraries in my existing projects.
What I'm saying is that I've never really done anything outside of an XCode project and occasional iPhone project. I've implemented lots of stuff, algorithms, math, etc. but all within that environment. I look at the world of programming and there is so much out there that's not necessarily a standalone application. It seems to me that the hardest thing is finding out where to start; how to setup the environment. I guess I'm wondering if anyone has any suggestions, projects, tutorials, maybe on setting up environments for different languages on different systems. Web programming, java applets? etc.
On the note of environments, I would be interested in knowing on a more basic level what makes a "development environment." To my basic knowledge, an "environment" combines the language, with the compiler that interprets that language, and contains libraries that provide an API for the language, where the compiled product runs on a certain system. This is my basic concept, but again, I'm here.
Sorry if this question... well... combines too many questions, but any input or guidance is welcome. Thanks in advance for any replies!
Not sure if I understood your question correctly or if this will help you, but here are my (relative newbie) thoughts and rambling:
I've done Java at uni in two different courses, one where we wrote the code in Notepad and then compiled it in command line, in some dubious DOS application, and then two years later when we worked in NetBeans and while NetBeans was a lot better and easier, I learned a lot and was a lot more careful when writing code after the Notepad experience (especially after waiting for several minutes for a compile only to see a message caused by a silly bug).
If you can choose between IDEs, I would read on different blogs, see what people prefer and why and make a choice. The problem is that most of the time, both at uni and at work, you can't choose and have to go with the teachers/managers choose, and make the best of it.
It seems to me that the hardest thing is finding out where to start; how to setup the environment.
I think it would be easiest if you found something that you want to do, and then take small steps and get bits done. I work as a desktop app developer and 3 years ago I set up a wordpress blog for a friend and imported posts and comments from a different blogging platform, with minimal knowledge about everything involved. I started with things that were already done by others and learned how to use them and then slowly tried to fill in the gaps - the comments part wasn't done then, so I had to learn about databases, how I could see them and then write the code that inserted in them, etc.
What I'm trying to say is that if you find something to do (and if you don't have ideas for projects, you can find several posts with ideas here, on SO) and then set goals towards doing that, even if you don't finish it, or your studying takes you in areas you hadn't expected, it will all be useful at some point.
I guess I'm wondering if anyone has any suggestions, projects, tutorials, maybe on setting up environments for different languages on different systems. Web programming, java applets? etc.
This is way too broad a question. If you're doing web programming, you need to set up a web programming environment. At a minimum, you would need an HTTP server. You'd probably also need a relational database. The rest of the web environment would be language dependent.
If you're doing GUI programmng, you would need access to the device or devices (iPhone, Android, etc.) that you want to write programs for.
To my basic knowledge, an "environment" combines the language, with the compiler that interprets that language, and contains libraries that provide an API for the language, where the compiled product runs on a certain system.
That gets you started, yes. You'd want an integrated development environment to write the code. Again, you'd probably need a relational or object oriented database. The rest of the development environment is language dependent.

First programming language after web development? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been thinking of making a desktop program but I have no experience in that. I've been programming in PHP, ASP and JavaScript before. Java seems to be nice since you can run it on all OS. But what I really want is result, I do not really care what language makes me a good programmer (I'll take that later in college :P). I've tried both C# and Python before but it was only console applications.
So, what programming language do you recommend to me?
If you want Windows results, C#. If you want cross-platform results, Python.
You could also just pick randomly. Or you could try them all. Or look at the 16 trillion previous questions on this exact same topic.
UPDATE:
To find those questions, I mentioned, try some Google fun:
"what language" OR "which language" learn site:stackoverflow.com
My personal bias would be towards learning functional programming (Scala or even lisp would be nice). But, honestly, any language could improve your skills pretty dramatically at this point. Just take a look at a few of the mainstream ones, and pick the one that suits your interest the best.
For some ideas (not in any particular order):
C - Learning the low-level details of memory allocation can be useful background. If you use Linux, there's tons of sample code in Gnome apps to show you how to write reasonably elegant code in the language.
C++ - C on steroids... there's lots of complexity here if you want to learn it, but it can also be a great language to have in your arsenal.
C#/Java - Nice, high-level, reasonably portable languages. I prefer the C# language over Java, but there are advantages and disadvantages to each (Java portability is better). In the end its just a matter of preference, and external factors (legacy codebases may swing you one way or the other).
Scala - Java on Steroids - Really nice language, but the learning curve can be a bit steep, IMO.
Python/Ruby/Lisp/etc - Nice scripting languages, most of which are easy to learn, and all of which will lead to new ways of thinking about problems.
Honestly, in the end, the most important rule is just to have fun. Look through the basic "hello world" tutorials and just pick the one that looks the most pleasant. Learning never hurts.
I've found that making desktop applications in C# / VB.NET (I'd strongly recommend the former) can be much easier than other languages, particularly with a good IDE such as Visual Studio (or the free Express editions) or Sharp Develop. It will be much easier to get it going on Windows, of course (I don't know much about Mono + WinForms), but I think the easier transition is worth the tradeoff.
Many people have been suggesting low level languages such as C, C++, but frankly I'm not certain that it would be a worthwhile investment of your time. The first programming language I learned was C, from the K&R book, but if I were to teach my son how to program today I would introduce him to python or ruby.
Both python and ruby are very expressive, sophisticated languages that are easy to learn and have an intuitive, english like syntax. By all means do learn about structured programming, and older compiled languages, but initially you'll reap more benefit from learning OO concepts in a high level language.
Java and C# are excellent languages, however they are very tightly coupled with their frameworks, and you may run the risk of getting bogged down learning a framework instead of programming fundamentals.
If you were comfortable in PHP you will feel right at home with Perl, better yet, pampered. You could even turn around and use Perl on the web with your former languages via CGI.
If GUIs is what you're after, C# is your best bet for Windows and Java for other platforms.
If you want result and GUI and you don't care if it's windows only, you probably want C#.
If you want to run on different platforms, you might check out any language on the JVM since they all have access to a pretty powerful GUI toolkit. (Jython, Groovy, Java, ...)
Don't bother with the desktop just yet. Hit the command line.
Get the K&R book and really learn C. You don't know how much you've missed out on if your background is 100% high-level (PHP, Python, Ruby, JS) web dev.
Learn the fundamentals, then raise the bar by going into C# or Objective C.
You can go easy or go hard, go fast or go slow.
Many people say C#, it's nice and can also be used on Linux through mono. On the other hand you can go with C/C++ and maybe Java. You'll have fun with C/C++, learn something and be a better programmer; but it will take time. Java is simpler but "needy". If you want the easiest way to develop a desktop application, you can go with VB or Delphi. Delphi has some advantages over VB which I'm not going to go into here.
My advice would be, if you have time, are willing, and just want to experience GUI, go from low to high, slow to fast, hard to easy. Try assembler, know C/C++, use Java, crack open C# and browse thought VB and Delphi.
In the end maybe you will not create a powerful application, but you will be prepared for college, be experienced and generally "know stuff".
For someone with HTML and Javascript skills Adobe AIR could be the way to go.
It allows you to create a desktop application using HTML/DHTML or if you are familiar with Flex you can also use Flex.
See http://www.adobe.com/products/air/
Go through K&R C. Learn C and you should have a great foundation for learning other languages.
i would say that Java would give a good introduction to desktop apps. I havent had any experience with some of the other languages mentioned here.
You can do some simple stuff in Java with very little headache, as compared to some other languages that require hundreds of lines of code.
Just depends if you have been exposed to OO programming in your web experience
Consider VB.NET (not "classic" vb!) as an easy-to-start-with high-level language that can help you get your foot in the door; then get up to speed with C# as well. The two are interchangable--VB.NET and C# are really just different dialects of .NET.
There's three things VB.NET has going for it over C# for beginner programmers:
VB.NET tends to be a more descriptive (some would say chatty) language
Where C# uses symbols VB.NET will use (slightly) more descriptive words. After a while VB.NET will probably be chatty to the point it annoys you, but by then you should be quite comfortable with .NET and switching to C# will be fairly trivial
Slightly more relaxed syntax
C# will gripe if you leave off parenthesis on method calls, and gripe if you add them to Property accessors--VB isn't quite as picky. It won't let you go haywire with bad syntax (like HTML) but it won't gripe and complain over every little detail
Better pre-compilation parsing
If you work with Visual Studio in both languages you'll notice it will show most compiler errors and warnings for VB.NET right away. C# will wait until you try to compile to tell you that there's errors in your code. The difference isn't huge (C# will warn you for most errors after a delay) but it can be a concentration buster to think you've just pulled off a method and found out it's 10 errors away from compiling (4 of which are because you left the () off a method call).
Once you learn the main features of .NET it's easy to learn the C# equivalency and transition if you want to; and at some point you might decide that VB.NET is a bit too chatty and opt for C# (pretty much what I did).
The only catch to VB.NET is that you should get in the habit of always adding two lines to the top of your code files; they'll help you out immensely in terms of not letting you do stupid things :)
Option Strict On
Option Explicit On
Here's a real short example of the "words vs. symbols"... you'll see there's not much difference other than some brackets in C# and some extra words describing what's happening in VB.NET
Option Strict On
Option Explicit On
Imports System
Imports System.Windows.Forms
<Serializable> _
Public Class MyClass
Inherits SomeBaseClass
Implements SomeInterface
Public Shared Sub DoSomething()
For each item as Object in SomeCollection
Debug.Writeline(item.ToString)
Next
End Sub
Public Sub SomeInterfaceMethod() Implements SomeInterface.SomeInterfaceMethod
MessageBox.Show("Grrblah!")
End Sub
End Class
using System;
using System.Windows.Forms;
using System.Diagnostics;
[Serializable]
public class MyClass : SomeBaseClass, SomeInterface
{
public static void DoSomething()
{
foreach(Object item in SomeCollection)
{
Debug.WriteLine(item.ToString());
}
}
public void SomeInterfaceMethod()
{
MessageBox.Show(#"Grrblah!");
}
}
Try not to fall in the 'must-be-cross-platform' trap. If you're just beginning, that shouldn't be what's on your mind. I can't speak for everyone, but I myself, and I have seen this happen to others, got caught in this early on and didn't get anywhere because I was always trying to find things that were cross platform, and just because they are cross platform doesn't mean they are the best suited for your situation, especially early on.
When you become proficient at a language, you will know how to port and make things cross platform. Don't choose something solely because it is advertised as being cross platform, despite the fact that most languages today are, don't feel the need to ignore other languages that, while not necessarily platform specific, seem to be better on certain platforms, such as C# for Windows and Objective-C for Mac, which are both great languages in my opinion.
If you want to learn something that benefits you in web development as well as in desktop development, I would go with Ruby. You can look into Ruby on Rails for web development. Ruby is also pretty cross platform and you can develop desktop applications with it. There are also various bindings, so for example you can write Mac apps with it and even have access to .Net with Iron Ruby, if need be.
Python is also a possibility.

Is there a stable Programming Language for Web Programming?

A renowned PHP user once said: There will be a relaunch in 2 years, anyway.
Those times are gone. Web applications that are older than 5 years are common. With the original developer(s) gone.
The release cycles of the operation system, programming language, and framework are getting in the way of doing real work, if you don't have a big staff.
Is there any way to develop something that doesn't need constant porting to the next level, without the fear of losing support and backing in a community? For people who want to stay in programming instead of climbing the corporate ladder and leaving the problems to the next "generation"?
My company codes almost exclusively in C#, however we have ColdFusion 5 apps still humming along written back in 2001 or so. Theres no need to port them.
If it ain't broke, dont fix it.
Other than security flaws (which are usually handled by an OS/Server Patch, so they dont need code changes), theres no need to change an app just because a new version of the language has come out.
If I'm not mistaken, ColdFusion has had at least 2 new releases since we stopped using it for new code. but that hasn't affected our ColdFusion sites one bit.
Write CGI programs in FORTRAN 77. Should be pretty stable.
Firstly, it is possible to overstate the difficulty in maintaining web applications. In many cases, the changes to a language or platform are expansionary in nature rather than destructive. .NET, python, etc code from several years ago will still run, but new options are being added to make these these tools more powerful for future applications. The case where massive changes occur tends to be on the first or second iteration of a language, e.g. Rails 1 to Rails 2.
Secondly, the still active development of web programming is something to be thankful for.It means that this is a part of the industry that will remain productive and exciting for years to come.
Traditional CGI is stable. It's not sexy, but if your OS continues to be able to run the same binaries or scripts, it's still going to work.
The only programming frameworks that stay stable are those that have been abandoned. A framework that stood still long enough would have no support for, say, AJAX or JSON or even XML.
You're not going to find what you're asking for. The best you can hope for is a mature framework with good support like ASP.net or JSP. And, as #Neil N said, don't keep upgrading unless there's a compelling business need.
The first web programming I ever did was writing Apache modules in C which communicated with a dBase database. I'm fairly sure that code would still run today (if the company I wrote it for still existed).
I do most of my current web-related programming in Perl, which is very stable and has an excellent track record for backwards compatibility. Most, if not all, code written for Perl 4 (released 21 March, 1991) should still run on the latest stable Perl (5.10) - although you might want to update it anyhow to take advantage of the last 18 years of improvements in both software development techniques and language features.
Consider the shearing layers. I've previously worked in large aerospace companies where the same Fortran back-end code and databases have had their front-ends evolve from the paper tape era through mainframe, client server and onto Intranet web sites.
On the outside, you have will typically have CSS and XHTML templates which can be changed to re-skin an application. These change quite rapidly, in large organisations as upper management seems to decide the bike shed should be a different colour every few weeks.
Typically you then have some logic to combine the templates with data from the back-end, and forward user actions to the back-end. This shouldn't change that rapidly, but translate the presentation to calls into the back-end. Expect to refresh this every few years, and rewrite it once a decade. We used Java for this, starting in the late 1990s. Some parts get changed faster than others, but it's not a big issue.
The back-end is usually stable ( some of the aerodynamics code dated from the 1970s; the laws of physics don't change that often ), and will outlast the web UI, as it has all the other UI paradigms. Fortran is forever.
Write your own web server in C then you don't have to worry about a web programming language.
(No, that's not a serious answer)
Have you seriously looked at what TDD, CI, pair-programming, and a solid, rapid development framework (basicaly Django or Rails) can offer to you as a developer vis-a-vis the way you write and design code? There are some really massive benefits that all of those pieces offer to the development process that make it almost a joy to be a programmer again. There are downsides, of course, but the upsides are all in support of the happiness and ease of development for the engineer, which leads to more productivity. In my book, that's a slam dunk win. And the result of my productivity and happiness, has been solid products and great engineering.
YMMV, but if you are having the serious thoughts that you are (and I take them very seriously), I think it's worth you investigating what those tools can offer. By taking the good and leaving the bad from the agile religion plus some of the things I listed above, I've returned to find the joy in programming again this last year, after a good 5 years of a downhill slide of my happiness with this career. It's about finding what works for you. I can only help and lead the way by showing you what worked for me. I'd be more than happy to discuss at length if you want to talk offline, I think this is a really important topic...it lead me to consider a career change many times.
Java Servlets and JSPs have been in use for a decade or so, and they still work the same way like they did in '99. But honestly, can you imagine something uglier than a '90s web application without any rework done since?
The Python web framework web2py promises backward compatibility:
Always backward compatible. We have
not broken backward compatibility
since version 1.0 in 2007, and we
pledge not to break it in the future.
And supports Python versions from 2.4 to 2.7
EDIT: Updated an important project 2 times and every time there was a problem. Well, …
EDIT 2: Needs Python 2.6 to 2.7 now. No support for Python 3.

Resources