|
I blame my manager(s).
I'm stuck...very stuck.
|
|
|
|
|
I've been a programmer for almost 34 years, and worked at my current job for a little over 23. A substantial pay increase, more interesting projects, or better conditions could entice me away.
A big pay increase isn't likely, as I'm an old fart and already at the top of local pay scales. I will not take a managerial position just to get an increase. I can 'manage' if necessary, but I'm not tempermentally suited to it for the long term.
More interesting projects would mean something that would give me exposure in programming environments other than the Windows desktop. Embedded, Linux, web stuff, data base, mobile, etc. This is probably the easiest of the three considerations.
Better conditions would be difficult. My current employer has flex-time and provides a fitness room for employees. This means I can run or work out during my lunch break. We have local running routes ranging from 3 to 8 miles in flat to hilly elevations, plus trails. We're located about 12 miles from where I live, so it's a nice distance when I want to commute to work on my bike. Frankly, this concern outweighs the pay consideration for me. I can get the money anywhere.
Software Zen: delete this;
|
|
|
|
|
|
I'm not stuck at all; are you?
I don't have much mobility, of course, since people my age don't get hired. But the job's excellent, the pay far better than most in this area (though only 65% of the average for my position), and the cost of living is relatively low. I plan to stick here until I retire.
Will Rogers never met me.
|
|
|
|
|
I'm not stuck in my job or career. There's nothing else in life I want to do but build software. Been doing it for almost 30 years and can't think of anything else I'd rather do. If I won the $600M+ Powerball, I wouldn't quit my job or stop programming. Would prolly give most of it to charity and maybe buy a wireless mouse.
/ravi
|
|
|
|
|
I've been doing this for almost 30 years as well. All of it with the same company, if you disregard the 2 times my company was bought by competitors in the last 12 years.
I still enjoy what I do, more or less. After the last acquisition a couple years ago they closed the office where I worked so now I get to work from home, pretty much doing what I have been doing for almost 30 years.
In some ways I am stuck in my career but in reality it is winding down any way. I have golden handcuffs. I can't expect to go somewhere else at my age and enjoy the same pay and benefits I currently have.
That being said, if I win the $600M+ Mega Millions tonight I will not quit. I will however become very difficult to manage!
|
|
|
|
|
txmrm wrote: if I win the $600M+ Mega Millions tonight I will not quit. I will however become very difficult to manage!
/ravi
|
|
|
|
|
Well I'm a tart so it would take 2 sh*t pots of money to get me to move! While the environment I work in is bloody horrible it is a big sh*t pot!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
...that works "easily" with semantic types? For example, I may have:
int age = 51;
which completely loses the concept that 51 is an age (in years). What I want is something like:
AgeInYears myAge = 51;
and yet still be able to specify that I can perform, say, arithmetic operations on "myAge". For example, in C#, I could write:
class AgeInYears
{
public int Value {get;set;}
}
... implement operators on AgeInYears
But that gets messy real fast - every "semantic type" needs these operators, etc.
Furthermore, the unit of measurement is still not handled very elegantly.
So, as the question states, are there programming languages out there that are more expressive of semantic types?
Marc
|
|
|
|
|
|
Maximilien wrote: In C++11, there is the notion of user defined literals.
Wow, that was a fascinating read - thanks for the link. It's been many years since I looked at C++!
Marc
|
|
|
|
|
Well, you can do things analagous to this in Smalltalk.
|
|
|
|
|
Pete O'Hanlon wrote: Well, you can do things analagous to this in Smalltalk.
Funny you mention that, I was looking at smalltalk a couple minutes ago!
Marc
|
|
|
|
|
Great minds and all of that.
|
|
|
|
|
I hate myself for typing this:
namespace TestApp1
{
using AgeInYears = System.Int32;
class Program
{
static void Main(string[] args)
{
AgeInYears myAge = 10;
AgeInYears oldAge = 50;
AgeInYears timeUntilOldAge = oldAge - myAge;
}
}
}
Yes, that's perfectly legal C# code. Its technically an int, works the same way that #define does in c++ to replace types. It only works in single code files though.
|
|
|
|
|
Ron Beyer wrote: AgeInYears oldAge = 50; You know that you're offending quite a lot of the CP users here, don't you?
Anything that is unrelated to elephants is irrelephant Anonymous ----- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944 ----- I'd just like a chance to prove that money can't make me happy. Me, all the time
|
|
|
|
|
I'm creeping up there myself, so old age certainly isn't far off for me.
|
|
|
|
|
Well, if only you don't add this:
if (myAge >= oldAge)
thisGuyIsDead = true;
or
if (myAge >= oldAge)
BookSpaceInRetirementHome(this);
Anything that is unrelated to elephants is irrelephant Anonymous ----- The problem with quotes on the internet is that you can never tell if they're genuine Winston Churchill, 1944 ----- I'd just like a chance to prove that money can't make me happy. Me, all the time
|
|
|
|
|
Ron Beyer wrote: Yes, that's perfectly legal C# code.
Fascinating. I'm glad there are some things of which I'm still ignorant.
Marc
|
|
|
|
|
I wouldn't get too excited about it though, its really one of the more horrible C# "features". Try the little program out once, then type out a function that has int's as parameters, Intellisense replaces any occurrence of the type with AgeInYears. And while you can define more than one alias for the same type, Intellisense will pick the last defined one to replace in the preview window.
Its also a really good way of making code impossible to follow.
|
|
|
|
|
Ron Beyer wrote: Its also a really good way of making code impossible to follow.
No worse than using "var" implicit types, I suspect.
Marc
|
|
|
|
|
var has its place. Too many programmers let it escape that place, unfortunately.
Software Zen: delete this;
|
|
|
|
|
Cue "who let the dogs out" playing for an unreasonably long time in my head...
|
|
|
|
|
Software Zen: delete this;
|
|
|
|
|
That's a problem with Intellisense then, not the language.
Defining aliases is the one best use for the using directive, but I limit it to complex types like Dictionary-of-Dictionary-of-List kinds of things.
Or, you can make a more general alias for a particular type, like using Connection=System.Data.SqlClient.SqlConnection .
|
|
|
|