- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Back to Bryan's problem, he needs to LIE! He was a VB programer for those 2 years. He can then proceed with a stress-free life in IT.
Admin
"My programming language of choice is better than your programming language of choice."
SeaTea
"While rock guitarists and programmers share a personality style characterized by arrogance, self-absorbtion. delusions of grandeur, and a tendency toward dogmatic absolutism, it is nevertheless the case that guitar players get more women." - C. Thomas
Admin
love the google ad on the sidebar of this:
MUMPS/Cache Programming InterSystems Cache Certified Expert Programming, Design, Conversions www.mumpsprogrammer.com
LMAO
Admin
"They're just all trying to hook up with teenagers on MySpace. "
And who wouldn't?
Must be dead if won't even try. ;)
"Age is a mental concept."
Admin
After 20+ years of coding offshoots of MUMPS, I took to vi/ex like a pig to mud. As a ham fisted typist, I like the way many commands sequence left, right, left. I particularly like how simply I can pipe and replace an arbitrary chunk of text through a filter (ie
will extract root processes from ps). It serves me very well as a motarboard for buttering bricks of code.Metaphor aside, I have no delusions that any code wrought by me will last or serve as well as the most out of plumb brick shithouse. Wrspt these cases of MUMPS, the best development langauge and tools will not make working for assholes a satisfying liveliehood I met some fine people coding MUMPS: I hope it did some good as long as it could.
Admin
this bryan guy is full of shit. what's his real name?
Admin
Last post!
Admin
This is just a bad rap for Mumps (M). The language was once famous in the 70s and 80s. It is still used by many big companies such as VA Hospital, Ameritrade, etc... Almost every healthcare system in the US still uses some systems written in Mumps.
Career in M also is not a bad choice. There are plenty of jobs in the market especially in contracting. It seems to me that you made a horrible case out of something normal in the business. Mumps is no longer popular as before but it's not a scrapy language. It's a structured programming language just like COBOL and FORTRAN. Many old programmers love to work with M. Younger programmers usually don't have patience to deal with old programming languages.
InterSystems has done a great job in promoting M in its Cache database. The company is robust. It have been selling M products over 100 countries in the world.
I totally disagree with your analysis because I am a M expert and I am still making more money than many VB programmers.
Admin
This is just a bad rap for Mumps (M). The language was once famous in the 70s and 80s. It is still used by many big companies such as VA Hospital, Ameritrade, etc... Almost every healthcare system in the US still uses some applications written in Mumps.
Career in M also is not a bad choice. There are plenty of jobs in the market especially in contracting. It seems to me that you made a horrible case out of something normal in the business. Mumps is no longer popular as before but it's not a scrapy language. It's a structured programming language just like COBOL and FORTRAN. Many old programmers love to work with M. Younger programmers usually don't have patience to deal with old programming languages.
InterSystems has done a great job in promoting M in its Cache database. The company is robust. It have been selling M products over 100 countries in the world.
I totally disagree with your analysis because I am a M expert and I am still making more money than many VB programmers.
Admin
WTF are you talking about? Meditech pays their DEVELOPERS low thirties in BOSTON, one of the most expensive cities in the country. When I complained that I was having to bring my kids snacks for lunch, I was told, and I quote "Well, you could always get a second job." Meditech is a sweat-shop stuck in the early 80s. It scares the hell out of me that they are in 25% of the hospitals.
Admin
Admin
Let me guess Ex-Meditecher ... did you go into consulting?
Those who can't do attempt to prentend they know how to tell others 'how to', eh?
OR are you simply bitter because the stock never went public?
Admin
If you are scared by MEDITECH ... you should check out HBOC / McKesson.
Well, at least they are publicly traded. (HA!)
Admin
What's really hilarious is that you are either stupid enough to believe that anecdote that you probably heard from some other charlatan, or that you're disingenuous enough to spout demonstrably false statements like this knowing that morons will lap it up.
Assuming you actually worked there they probably fired you, which I suppose is the most pathetic thing in this whole WTF.
Admin
No,current_meditech_ER, actually I got a job at a real company that develops real software using a real language and operating system with real, functional tools. And I even make enough to feed my family. Enjoy your free sodas though. I'm just here to gloat.
FYI: A sign at McDonnalds in the Boston area announced they were hiring managers for 35k/yr. That is what Meditech starts the programmers out at. McD's is probably more selective about who they hire too.
Admin
Thank you for the info. It just helped me to decide about the new job offer i got this week. I will say no to MUMPS... You are all welcome to visim my blog at: http://www.eastern-logic.com
Admin
What was the first record of mumps? I'm researching it for school.
Admin
MUMPS/M/Cache is not a dead language/database. It was developed for and is still in widespread usage in the healthcare industry. Many IT vendors including Misys, IDX, and Epic sell widely used applications based on it. The VA's system runs on it. Thanks to Kaiser's installation of Epic (the Madison/Verona company everyone's talking about), InterSystems (which owns Cache and predecessors Open M, ISM, DSM, and MSM) can say the largest healthcare databases use it.
It takes getting used to but that's just like every other language or database. Once you learn it, it's fun to use and rather efficient in terms of keystrokes required.
As for security, it's all in the implementation. I'm not sure what type of M is being talked about in the "horror story" but Cache provides API's for all modern programming languages.
As for migrating away from it...there's no need to. InterSystems continues to develope and update Cache. It runs on OpenVMS (Alpha and Integrity), AIX, HP-UX, Solaris, and Windows.
Admin
Ahhh... Mumps. Happy days, I was never more productive.
I am not sure what Bryan did for the three months it took him to learn mumps, there were only about 8 commands that I can remember. I was up and writing new functionality in about 2 weeks.
According to the manufacturers of Cache it is still significantly faster than Oracle...
http://www.intersystems.com/cache/whitepapers/warehouse.html
It wouldn't surprise me, after I watched a large team try to replace a legacy mumps system with new fangled windows and SQL replacements for a number of years.
Mumps is still used in the UK for a significant amount of healthcare records.
Having said all that... I am glad that I will never have to use it again.
Admin
I have to throw up now.
CAPTCHA: ewww
Admin
Admin
Admin
Nope. "K ^" was a lethal combination as were such other "K ^*" situations. "K ^DD" was the killer that happened one day in our shop. Killed our entire data dictionary.
Yes, AmeriTrade used Mumps up until fairly recently and they may still. Also, APAC bought a company and inherited a Micronetics Mumps implementation.
I think there is some salvage yard software that is popular and written in Mumps too.
I liked Mumps but I like the "newer" languages and technologies better. If Mumps had some SQL capabilities, it may be fun to play around with. I hear Cache may support that?
You could get quite a bit done in a screen or two of code.
Admin
Or not...
QUIT:$QUIT QUIT QUIT ; quit
If the caller/calling function is expecting this function to return a value, return the value of the local variable 'QUIT'. Otherwise, exit the routine without returning a value. The last '; quit' is a comment.
In MUMPS/M, you call a routine differently depending on whether you want a return value or not. If a function returns a value in a context where a value was not expected, that's a fatal error. So is not returning a value to a context where a value is expected.
I guess you'd hope people would only call your function according to the published API. But the $QUIT function tells you what context your function was called in so you can behave differently. It evaluates 'TRUE' if your context is expecting a value.
MUMPS functions & routines are never required to return a value.
Admin
Read this carefully. Be afraid, be very afraid... LOL.
January 04, 2006 11:06 AM US Eastern Timezone
GE Healthcare Completes Acquisition of IDX Systems Corporation; GE will Accelerate Global Adoption of Electronic Health Records
BARRINGTON, Ill.--(BUSINESS WIRE)--Jan. 4, 2006--
GE Healthcare, a unit of General Electric Company (NYSE:GE), announced today the completion of the acquisition of IDX Systems Corporation (NASDAQ:IDXC), a leading healthcare information technology (IT) provider. Together, GE Healthcare, a global leader in medical imaging, healthcare services, life sciences and information technology, and IDX will create a leading healthcare IT vendor with one of the most comprehensive suites of clinical, imaging and business information systems available.
GE expects the acquisition to accelerate efforts to seamlessly connect clinicians from physicians' offices to hospitals with comprehensive, enterprise-wide electronic health record (EHR) solutions, creating a digital community that supports safe, efficient and cost-effective patient care.
In 2005, the RAND Corporation, a non-profit research organization, released information indicating that America's healthcare system could save more than $81 billion annually and improve the quality of care if it were to broadly adopt computerized medical records.
"The combination of these two companies positions GE as a leading provider of global healthcare information solutions and, by further enabling the integration of our customers' IT systems, enhances our ability to help them streamline healthcare costs, reduce medical errors and enhance and improve the quality of patient care," said Joe Hogan, president and CEO of GE Healthcare. "In addition, our expanded IT product offerings will provide healthcare practitioners with powerful new capabilities and tools, like comprehensive EHRs, to help physicians diagnose and treat disease earlier than ever before."
Admin
Okay, I confess. I am a MUMPS (don't call it M, I hate that name)programmer, and have been for 22 years. I hate to be a me-too-er, but the rabid anti-MUMPSian drivel tha thas been spewing out here is more from ignorance and religious zealotry than anything else.
Can you write bad code in MUMPS? Of course you can, and much has been written. Can you write good code in MUMPS? Of course you can, and much has been written. I haven't used a GOTO in probably any of the past 20 years (except maybe code that I wrote for my own personal stuff, like games, and the like). Scoping of variables (and by the way, that existed even in the earliest incarnations of MUMPS), block structuring, comments, non-obscure variable naming, etc. should certainly be used. Things like dynamic variable creation, non-existent variable-typing, sparse arrays, and so forth, are strengths, not weaknesses. Security? No problem. When I worked at the DOD (whose hospitals still use MUMPS, as well) there was no bare telnetting as some other poster here suggested was the case with his MUMPS shop. It was secure shell, and even the developer's accounts (which were protected by two levels of passwording) were automatically disabled at the hospitals each day, and you had to re-establish authenicity to have your account reenabled, which involved using DoD-issued CAC cards, which needed an electronic reader, thumbprint and yet another password. So security is what you make of it.
As others have mentioned, not ony the VA and the DoD use it, but also Ameritrade. And why? Because even in this day and age, it's FAST, and completely scalable. Millions of transactions are handled, accurately and securely, every minute.
People who think newness is better simply because it's new are the ones who need to get a clue. Yes, some newness is better (examples would be the Internet and cellphones), but other things are simply tools to drive the market economy which collapses if people stop buying new stuff (remember back in the old days when you didn't have to get a new car every five years, because the vehicles actually LASTED for 10-20 years with no problem? That was disaster for Detroit, since not everyone was buying into the "must scrap my old car each year or two, because this one has newer bells and whistles" mentality. So they started making cars that would fall apart basically as soon as their warranty expired.)
Admin
According to Wikipedia you can use DO command to create new code block for FOR / IF..
btw - this iz crazy:
DOW D H S Y=%Y K %H,%Y Q DW D H S Y=%Y,X=$P("SUN^MON^TUES^WEDNES^THURS^FRI^SATUR","^",Y+1)"DAY" S:Y<0 X="" Q 7 S %=%H>21608+%H-.1,%Y=%\365.25+141,%=%#365.25\1 S %D=%+306#(%Y#4=0+365)#153#61#31+1,%M=%-%D\29+1 S X=%Y"00"+%M_"00"+%D Q ;
Admin
but I presume there's more woman dating programmers than woman dating guitarists,
without talking of the average pay check...
Admin
Hi, thanks to turnip for his words. I agree fully. Don't beat the sack if you mean the mule. And if there is something bad about M than it is the same, other languages have encountered over 20 or more years. Many problems come from the fact that MUMPS is OLD.... 1966... had its best times in the 80's and then happend what often happend to systems with a long history : the development of the system stopped, not because the implementors where not interested but the programmers did not want to change. Evolution of the language stopped in 1995 on a level compatible to 1988 (in some companies earlier, sorry about you McKesson folks)) ! That means even structured programming has been a 'wow' innovation for the established M programmer. Therefore M is one of the last languages where GOTO is still a style element (I style cann't stand it!) Since it is never a problem to get a M prog. running even the worst garbage is implemented somewhere in some old software. This is not because the language forces you so, it is because programmers choose it to do so!! There are lots of elements I would like to find in the language but the problems described above are not among them. A fool can write garbage programs in any language. I've seen it in C, C++, Java, Delphi, PHP, JScript etc. If you are stupid, the language won't help you anywhere! Unfortunatly M programs are usually abpout 20-25 years in service and accumulated a lot of stupidity (While a java prog only can acumulate just a few years of crap). Like the example:
DOW D H S Y=%Y K %H,%Y Q DW D H S Y=%Y,X=$P("SUN^MON^TUES^WEDNES^THURS^FRI^SATUR","^",Y+1)"DAY" S:Y<0 X="" Q 7 S %=%H>21608+%H-.1,%Y=%\365.25+141,%=%#365.25\1 S %D=%+306#(%Y#4=0+365)#153#61#31+1,%M=%-%D\29+1 S X=%Y"00"+%M_"00"+%D Q
This is definetly 1977 style. Remember: you can even write a C program in one line, but nobody does, so why not write:
DOW() ; -- function : unknown crap -- N %Y,%H,Y D H S Y=%Y Q Y ; return Y for whatever reason
DW() ; -- function : return current day of week -- N Y,%Y,X D H ; calling a local label but it is not here ..... S Y=%Y,X=$P("SUN^MON^TUES^WEDNES^THURS^FRI^SATUR","^",Y+1)_"DAY" S:Y<0 X="" Q X
7 ; -- this label is never called -- S %=%H>21608+%H-.1,%Y=%\365.25+141,%=%#365.25\1 S %D=%+306#(%Y#4=0+365)#153#61#31+1,%M=%-%D\29+1 S X=%Y_"00"+%M_"00"+%D Q
Or better like this:
DAY() ; -- function: return name of current day -- N DAYS S DAYS="Thurs Fri Satur Sun Mon Tues Wednes" Q $P(DAYS," ",+$H#7+1)_"day" ;
The basic problem seems to be MUMPS is different. When I started MUMPS my first impression was I encountered a post mortem dump. I applied simple rules of structured programming and it worked much better and so on. BUT I never understood, why all programmers start writing shit when beginning to write M programms??
But I must agree to the original author: If you tell your employer, you're a Mumps professional, he most likely thinks, you are one of those stubborn diehard prehistoric species which still refuses any evolution of the last 25 years in IT development. But how can he know, that sometimes there are a few who are not??
Since I am not usually here, you can flame me on my business mail at: info(at)ifmd-consulting//nospam//.de
have fun watching them "modern" languages ageing ;-) !! Armin van Harten
Admin
Ignorant ???. A lot of smart people thought about making programing languages,databases and methodologies better and if you ever really programmed in mumps cache object-script and are also aware of all that theory than your only conclusion can be that the theory is right and mumps is wrong. The real problem why there is still mumps/cache it is dishonesty and customers ignorance. You probably make more money if your customer has more problems.
Admin
I like to remark that the most important thing thing about databases that gets almost never mentioned in this kind of discussions is database integrity. Is that customer id really a customer id is that id used only one time is that essential piece of data really there? what does a mumps database offer in that regard ? Nothing! That is the real important difference with relational databases.
Admin
Sorry for picking your post out, but this is an example of how most of the people commenting here seem think these days.
What this user expects are features from an SQL-RBDMS like primary keys, constraints, stored procedures and relations - and he expects this from a system which was designed way before anyone thought about something like SQL. He looks at it and sees that the features he is used to are not there at the first glance and thus the whole product must be bad. Preferably without researching what really is there:
M was created as an operating system aimed at rapid creation of stable, available, scaleable, concurrent, multi-user data storage, manipulation and retrieval systems - getting the most out of the available hardware as possible.
The above comment is like complaining about C++ missing RDBMS storage, or word processing capabilities. Comparing it with a modern RDBMS also misses the point, alone because RBDMS only have a subset of the functionality of M. Additionally missing the point because the 'missing functionality' the user complains about is available for this language as a library (see below).
M is basically exposing the low-level functionality (and more) needed for storage engines (eg the ones used by modern RDBMS) and virtual machines (such as java) to the programmer (and that since about 40 years) - giving flexibility to handle data and code in a performant and portable way:
You can build full SQL compatibility on top of M and have it run faster and more stable and scaleable then many other dedicated RDBMS on the market.
You can build an OODBMS with it, or a complete OO system (including typed variables if you really feel the need for and willingness to pay the performance impact of it).
You can use the included btree storage system as-is (and a carefully tailored storage structure in M can outperform RDBMS for quite some scenarios - because it omits many of the problems for wich stuff like referential integrity checking in current RDBMS burns way to many CPU cycles these days).
You can even dump the complete language by writing your own compiler and use M as a VM for the language you create.
Or you can build something with it which gives you all of this at once. That has been done by intersystems - it's called Caché (drawback there is the pricetag, but compared with stuff like oracle it isn't bad): All the functionality they offer is basically library code running on a classic M system (except stuff for eg. IP connectivity which are implemented as Zfunction language extensions). And it's stable and very fast and scaleable.
Should you openly look at what functionality they expose to the user (and keep in mind that all this is running on a 40 year old language construct) then maybe you will get a grasp of how powerfull MUMPS really can be given good coders who know what they are doing.
Sure, you can create unreadable, unmaintainable or fucked up code with any language. And you're shafted with nearly any language available should you not have libraries (which contain solutions to the problems you encounter and make your life easier). Also you could dislike the syntax (which i liked when working with it because i had to type less to express the things i wanted).
But please stop bashing something after a glimps at a very limited subset of it - when you don't have a clue about what's really there.
Admin
Admin
Hi grrr,
this is a harsch standing you take on one single programming language in a thousand. On what you say, I am very sure, you may know a few statements in M but you know nothing about M. Probably you started out in a very old fashioned M-shop with all your new neat libraries in C++ or java or whatever and finally recognized all that stolen, borrowd and sampled stuff other programmers wrote for you doesn't work here. All the common language stuff is suboptimal here, because algorithmic is very different in M. I am sure, that its people like you who are responsible for some of the worst lines in any M code and now complaining about the language, because they are unable of structured working.
Nobody denies that because of some historic misdevelopments, this language has some shortcomings, but getting so upset upon this may have different reasons. I've met a lot of younger programmers who where very proud of knowing a lot of libs they can use. They where usually not able to implement a read command with some cursor control but believe themselfs great programmers. Well! OK. But see this: you are in a different department. M is not for YOU, M is for professionals. As far as I see, you ar not even able to decide a programming laguage from a databse from a operating system etc. I thi nk, it could be a good idea to acquire some basic knowlegde and then take a look again. Another point isd, that M is still the only language which allows complete algorithms in treestructured data and associative adressing (PHP has some small approaches but is mixed up). These two elements allow completely different solutions of given problems. Beyond all historic troubles, you will find new ways of thinking working seriously with a tool like this. In M DOM Models are old! But you will never recognize because you are still seraching for some flat tables and SQL add on's. N dimensionality is a was of thinking and ultimate freedom can cause trouble for those who need barriers to find their way. Reboot your brain, and answer yourself one quetsion: if this is so bad, how could it last so long?
BTW : funny name 'grrr' What are you affraid of?
Armin P.S. If you need any help with your M problems, let me know, I can support you-.
Admin
I was not angry before but I am now . Your condescending tone and assumptions about me are totally baseless. Do not lecture about professionalism with your pseudo-technical-mumps-speak. Let me teach you something about dimensions instead. Lets take a simple cube of size 3x3 and put the corner points in a sql database and in a mumps database now come up with a couple of simple queries like what points make up a side what points make up a diagonal plane and then come back to and tell me what is the multidimensional database and what is the flat one. In a sql database all dimensions/rows are equal and can all be used to query. in a global one
Admin
Also speaking of ^globals and mumps how about the TDIDT algorithm on a global show me maybe you impress me. You may chose how to do the attribute selection but not the selection the ^global tree dictates.
Admin
<*)))><
Languages evolve. People sometimes not.
Gringo
Admin
My brother went to Anderson Consulting out of college in 1994. All new hires back then went to Cobol class for months. Ironic how everyone (at least PHBs) practically revere Big4 consultants considering their roots!
Admin
" Why getting personal? "
You painting a picture of me that was a total your fantasy that is a shit thing to do. You can spin it now by just quoting what makes you look good but that is just a cheap trick of a typical technically incompetent person trying to get is his way by bullying instead of argument . I am a mathematician by training and I assure you I can see the how useless nonsense a data-model like that of mumps globals is without the years of mumps torture that made you so stupid.
Admin
Why is Brian blaming his lack of ability to get a job on his previous company. Did getting experience outside of college worsen your resume? Nope. So if you hadn't gotten this first job, you'd have been unemployed just the same, so there's some other reason you can't get a job and it has nothing to do with MUMPS. Good luck, though.
Admin
I may already handed out the fish, but i couldn't resist:
Maybe stick to math then and leave IT to people who are trained in that field?
Gringo
Admin
As a DSM version programmer back in the 80's and 90's for about 5 years on a cluster of PDP 11/83. Then working on other flavours, I can sympathise with Bryan. However you cannot knock a programming language/OS that has the ability to be so flexible with such limited resources.
Xrefing multi clusters with ^[uci,sys] and with proper control over your subroutine modules there's nothing (datawaise) it couldn't handle and I am sorry but all my programming was wel documented clear and maintainable!
The only inherrant problem was the fact in the UK was steering group that didn't take tight enough control over the emerging plethora of backroom spun GUI's comming onto the markets.
I still say if it was revisited revamped it could still be a goer.
Admin
Ooh. Mistaken.
Cerner and HBOC both have MUMPS ( or M, as it's called these days ) based applications. Meditech is even worse since MAGIC is based on their previous proprietary language MIIS...which looks a LOT like M.
MUMPS was actually the first ANSI standard language back in the early 60's. That's before most of the early work on programming styles was done! If you see any legacy code out there for ANY language that old you're going to see amazing things like GOTOs resulting in spaghetti code. The problem isn't M...or Intersystem's current version called Cache...it's the moronic use by the individual programmer. I've seen VB and C++ code that was far less supportable than M.
In actual fact, Cache is a true object oriented programming language whose capabilities include SQL querries and a scripting language that is almost identical to C++ with the exception of the object library. Cache even comes with a feature called Cache Server Pages. Yep, web based support to compete with Active Server Pages at no additional cost.
I don't know about any other programmer out there but I believe opportunities are what you make of them.
Admin
You developers extolling java over MUMPS - Look at the deliverables from each platform. java is, or should be great in theory, but the kitchen sink libraries an 'infrastructure' it drags around with it result in crashing systems that must be hardware overspecified, which in this day and age is inexcusable. There are too many just average programmers writing shitty code that gets included as the infrastructure acretes. For a language as young as java, this is horrible. Someone needs to cut out the bullshit, or just start over.
For the article writer, who was praising VB as an alterative - you need to stop drinking billy gates' white Koolaid! M$ is a cancer on IT. Time to throw away the 'IDE' that lets you produce reams of shit, and work on quality not just quantity
Admin
Today, I saw MUMPS on freshmeat: http://freshmeat.net/projects/gt.m/?branch_id=3802&release_id=272308
seems to be the same thing. I didn't believe this really exists when I read the WTF...
Admin
very interesting, the adage 'you can code in one language you can code in them all' might not always apply. If the skills you have are so esoteric you might be dependent on one company for employment. It might work out that you can hold the company to ransom if there's more jobs than developers but you're the company's bitch if it's the other way round.
Admin
Every programming language has it's advantages, disadvatages and quirks. That's the one fact that has been the most evident over my 25 plus years of programming expereience. I done COBOL, X86 Assemblr, C, Forth Basic (the Dartmouth version that precede M$), QuickBasic, TurboBasic, Pascal, Turbo Pascal, Delpi and Visual Basic.
My introduction to MUMPS was with a "competitor called MIIS back in the early 80's. I also beta tested Intersystem's predecessor to Cache in the late 80's.
I worked continously for the last 25 years inside and outside the MUMPS community. I've worked as a developer, programmer, techie, manager and supervisor.
The point behind all of this crap? The programming language matters. The skills of the prorammer matters more. The standards, conventions, rules and coding philosphy are the keystone. It takes all three to develop and implement what the client really wants.
Admin
After looking at those code samples I'm convinced that the programming language is named after the mumps disease and the acronym was made up after the fact.
Admin
I have about 4 years cache experience and im unable to land a job in any other language except for those "fresh from college" ones where i would be paid peanuts. studying java in my spare time now so that i have something to show when going for an interview 1 year java =17k 4 years cache (+csp server pages)=12k (after complaining to my boss) go figure
Admin
A horrible story indeed, but a lesson for any new programmer. Staying current with technology is essential if you want to continue to be marketable. There is no better leverage than to have options outside your current employer. I have seen too many engineers get swallowed up in high-paying grunt work only to realize that they've been effectively marginalized in the market.