I'll concede, that if you have a captive audience, web apps versus client server possess equivalent effort to develop. As well as native clients providing a superior experience. An easy example of this would be to compare any native mobile app to a web based mobile app. Web based mobile apps often suck because they are really hard to do well.
Though I also believe web apps are usually good enough for most data entry applications.
Define the problem, come up with a design and pick the tools you think will work best. That's what I was trying to say. I wasn't really advocating one thing as superior to another. I was advocating right tool for the job.
I'm personally not a fan of PHP, but I'd be foolish to discount the reasons for it's success. Mainly an easy to use, stateless framework. All frameworks have bugs and exploits, PHP has more due to one of it's virtues. It's easy to pick up and develop with. So large numbers of neophytes contribute functional but buggy code.
Spring and Wicket were mentioned as a class of java frameworks. Yes, they take longer to develop. It's a trade off.
I think you can compare Tesla to Suzuki, both manufacture vehicles for transportation. Which is comparing a car to... a car.
FIrst decide the right way to solve the problem, then look at the available tools to solve it.
Client server is better at solving specific problems, anything graphics heavy usually. For pure data entry a straight up server side web application is usually the best choice. You don't need to support multiple client installs, just the server instance.
For ease of development: PHP, for scalability, some java based framework (Spring, Wicket, etc...) or even Scala/Play if you feel somewhat daring.
Why do you have to be 'retrained'? Can't you just pick a technology up? I worked with.NET 2.0 years ago and recently did another project with the. C#/.NET 4/ C++ interop. Took me a week to get up to speed. Before that I wrote and android app and now I'm writing an objective C app for the iPhone.
Sorry, but I think the problem is your attitude. You should have been learning all the time, non stop. The fact that you're not tells me you need to find a different career.
Just the opposite. At 40, I'm not as quick as I was at 25. On the other hand I recall every moronic stupid mistake I made, in design, in code and I don't repeat them. I deliver software that is consistent and reproducible. Maybe not bug free, but with a good deal less bugs than someone who's not made the same mistakes.
So, there my be ageism out there. Screw'em, they're the the same idiots who keep the business people in peoria and outsource the development to VietNam (because India costs too much). You don't want to work for that company. This recession has an upside in that it will get rid of those companies that are run by morons. Too bad we can't build a mini death camp for our captains of industry (idiocy?)
For different purposes, they we're trying to obscure active sonar, of course it created more noise than it absorbed so it wasn't really feasible. It also had the side effect of letting the submarine 'slide' faster through the water. I don't have a reference to back this up, just a conversation I had with an instructor in Sub school in Groton Connecticut.
Java web start, or a similar technology, is the way to go. Of course JWS failed the first time around due to Java's ugly UI. Throw in the eclipse rich client and you've got the best of all worlds. A remote client you can force updates to, the speed and flexiblity of a thick client and it looks good with native UI components. If I have a choice I'll use that next time.
Still, I've played with mozilla/XUL and written an in-house AJAX application. They still leave a lot to be desired. XUL/javascript is a pain as mozilla is in constant flux. What worked today does not work tomorrow. AJAX *can* be quite slow, just like any web page. It all depends on the size of your pipe.
Thick client will be around for a while, just due to inertia if nothing else.
I believe Mars lacks earth's Van Allen belt as it has no molten core to create it. The massive amount of radiation would mean engineering plants and animals to survive it.
Of course this assumes common sense is used in implementing a new technology. It all comes down to upper management. A few will have a clue (usually those with an IT background) but the rest will make up for it with a moronic decision to hire Ernst and Young to to replace 50 million lines of custom legacy COBOL code in 6 months with another COBOL application written for the insurance industry in Australia.
Say goodbye to 70 million dollars and 200 legacy programmers.
While going to school I worked as a system operator on an AS/400. I learned all I could about the system by reading the extensive online documentation. While I've never worked on one since, it still looks good on paper.
I also got intern positions at local companies. Who actually let me write production code (with extensive code reviews, of course) This also looks good on paper.
Now, the time frame was the early 90's. If you could spell COBOL (and were therefore desperate) you could get a job. So I think I had an easy time of it.
I would do things a little different this time. I'd either donate my time and skills to some open source project, or start one up. Something small using available tools that demonstate my knowledge of (enter technology of choice here).
Then put the URL to myproject.sourceforge.org on your resume. If they even bother to look at your code then you'll be much farther ahead of the competition.
I've changed how I design/write code in the last few years. I used to be an Object oriented fanatic but I've found that the increased levels of complexity it creates also matches an increase in the effort to maintain said programs. Now, I'm sure someone will say that I don't know how to properly design/implement systems but I have to disagree. I do know how it's done and how's done is not good enough.
Polymorphism is easy to overuse, use it when you have to, no more. Composition is your friend use it when you can. Try to keep the core logic in a few main files. Clarity and maintainability should be your second concern after 'make it work'. Test, test, test is number three.
The rest of my advice would fill a small book but most things are best learned though trial and error.
Joe Technophobe: "There's muh cumputer, it's uh winders three kind, but the cup holder
on it is durn broke".
Techno Geek1 : "Dear god, something from the Jurasic period, Just look at this fossil, a 286SX
and the cdrom, I mean 'cup holder is jammed with... , oh no that's sooo
sooo soooo very wrong.'
Techno Geek2 : "There are wires everywhere, have you even heard of zip strips? Keeps your layout
nice and tidy, and you don't even have to trip over them."
Techno Geek3 : "Let's talk about Product, it's all about the preparation and the hardware,
I think we can get you a nice durable all steel case, that's coffee proof and
and with lots and lots of RAM."
Techno Geek4 : "You god damned ignorant hilljack! How can you treat hardware this way, didn't
your mother teach you to wear anti-static wrist guards? Where did you grow
up? The third world?"
Joe Technophobe: "Nope, uh work fer Marketing in the Racing business"
Techno Geek2 : "Say no more, well take it from here"
Why applescript? Why not a scripting language that does all that applescript does and is also crossplatform? This is not meant to bash applescript, which is a fine scripting language. It's just that applescript won't run on Win32, *NIX, VAX... Other scripting languages will (python, perl and javascript even).
When you do something quick and dirty, do you have to maintain it? Or will that task be left to some other poor slob who will bitch and moan about the piss poor coding you did.
If you have to maintain it, do it right. You'll be the person getting phone calls in the middle of the night if you don't.
Of course you should always produce clean, well tested code if you have any morals.
I guess the real answer is do the best you can with what you're given. Make sure those in charge know what you're doing and why you're doing it. Are you, and your company satisfied with the end result? If not, go back to start and take a look at your methodology.
It reality only the government and aerospace can afford true software engineering.
It sounds like these guys have a pretty good hook with heating and cooling. As a broad demographic, most truckers are not very technically sophisticated. This is starting to change but I believe only 30% actually use a PC. As you would expect, those who do use newer technologies are younger or have been exposed to them by large carrier fleets they work for forcing them to learn.
Every carrier and trucker is looking to save money. Every truckstop is looking for ways to get truckers to stop. So I think if these guys can deliver, they'll do fine. They will have to install a good number of locations before it makes sense for large carriers to sign contracts.
Companies outsource because they don't have the political will to control costs themselves. So they pass it off to another company like IBM.
The result is usually the reduced cost you were looking for and severely reduced service levels.
I once consulted for a very large Insurance company, which decided to outsource it's legacy IT staff, approximatly 300 people.
About a third of them left and they were the most knowledgable, each averaging 20 years experience on the systems they maintained.
A small modification that might take any of them a day to build, test and install would take me three weeks. (it's hard to compete with 20 years of domain knowledge).
Skilled IT workers are not assembly line workers. Outsourcing should be for easily replaced resources.
I've been researching this for a while and I wanted a convenient way to access work 24x7. So I bought the sharp zaurus SL5500 and now the wireless portfolio from enfora. The portfolio looks like the better deal as I get to use my CF slot for something else.
Obviously I won't be doing much C++/Java coding through it but it will be nice when I get a call out on the town and I need to fix production.
Much better than explaining the use of the 'top' command to find a run-away process to the new operations guy. (yes, I've had to do this).
You say it must be object oriented with an easy to use IDE (and so on).
What specifically do you want to do? Why does it have to be a GUI? Why OOPS? Maybe Python would be a good choice if you really need to get the app out fast, maybe you have other requirements that demand C++. Possibly a two language combo would be best.
You have to consider the other developers also, are they able to code OOPS style or have they only done curses with C? You must consider their skills and learning curve.
Hans said:
"SQL has been crippling the database industry for decades"
I'll admit it's not the best syntax to manipulate
a database but before SQL there was no uniformity
in database access. At least you don't have to
learn a new "language" for each database you
maintain/access. I don't see how it's crippling.
I am curious about any solution he would propose.
ASP's will fill small specific roles.
on
When ASPs Go Under
·
· Score: 2
And doubtfully much more.
Isn't Ebay, essentially, using an ASP business model? I also consider electronic record
translation services to fall under the ASP
model.
Microsoft.NET is a whole different critter.
If your connection to the service goes down,
you go down. Not many companies today can
take that kind of risk.
I'll concede, that if you have a captive audience, web apps versus client server possess equivalent effort to develop. As well as native clients providing a superior experience. An easy example of this would be to compare any native mobile app to a web based mobile app. Web based mobile apps often suck because they are really hard to do well.
Though I also believe web apps are usually good enough for most data entry applications.
Define the problem, come up with a design and pick the tools you think will work best. That's what I was trying to say. I wasn't really advocating one thing as superior to another. I was advocating right tool for the job.
I'm personally not a fan of PHP, but I'd be foolish to discount the reasons for it's success. Mainly an easy to use, stateless framework. All frameworks have bugs and exploits, PHP has more due to one of it's virtues. It's easy to pick up and develop with. So large numbers of neophytes contribute functional but buggy code.
Spring and Wicket were mentioned as a class of java frameworks. Yes, they take longer to develop. It's a trade off.
I think you can compare Tesla to Suzuki, both manufacture vehicles for transportation. Which is comparing a car to ... a car.
Otherwise, what would you suggest?
FIrst decide the right way to solve the problem, then look at the available tools to solve it.
Client server is better at solving specific problems, anything graphics heavy usually. For pure data entry a straight up server side web application is usually the best choice. You don't need to support multiple client installs, just the server instance.
For ease of development: PHP, for scalability, some java based framework (Spring, Wicket, etc...) or even Scala/Play if you feel somewhat daring.
Why do you have to be 'retrained'? Can't you just pick a technology up? I worked with .NET 2.0 years ago and recently did another project with the. C#/.NET 4/ C++ interop. Took me a week to get up to speed. Before that I wrote and android app and now I'm writing an objective C app for the iPhone.
Sorry, but I think the problem is your attitude. You should have been learning all the time, non stop. The fact that you're not tells me you need to find a different career.
d
Just the opposite. At 40, I'm not as quick as I was at 25. On the other hand I recall every moronic stupid mistake I made, in design, in code and I don't repeat them. I deliver software that is consistent and reproducible. Maybe not bug free, but with a good deal less bugs than someone who's not made the same mistakes.
So, there my be ageism out there. Screw'em, they're the the same idiots who keep the business people in peoria and outsource the development to VietNam (because India costs too much). You don't want to work for that company. This recession has an upside in that it will get rid of those companies that are run by morons. Too bad we can't build a mini death camp for our captains of industry (idiocy?)
For different purposes, they we're trying to obscure active sonar, of course it created more noise than it absorbed so it wasn't really feasible. It also had the side effect of letting the submarine 'slide' faster through the water. I don't have a reference to back this up, just a conversation I had with an instructor in Sub school in Groton Connecticut.
Java web start, or a similar technology, is the way to go. Of course JWS failed the
first time around due to Java's ugly UI. Throw in the eclipse rich client and you've
got the best of all worlds. A remote client you can force updates to, the speed and
flexiblity of a thick client and it looks good with native UI components. If I have a choice
I'll use that next time.
Still, I've played with mozilla/XUL and written an in-house AJAX application. They still
leave a lot to be desired. XUL/javascript is a pain as mozilla is in constant flux. What
worked today does not work tomorrow. AJAX *can* be quite slow, just like any web page. It
all depends on the size of your pipe.
Thick client will be around for a while, just due to inertia if nothing else.
I believe Mars lacks earth's Van Allen belt as it has no molten core to create it. The massive amount of radiation would mean engineering plants and animals to survive it.
Of course this assumes common sense is used in implementing a new technology. It all comes down to upper management. A few will have a clue (usually those with an IT background) but the rest will make up for it with a moronic decision to hire Ernst and Young to to replace 50 million lines of custom legacy COBOL code in 6 months with another COBOL application written for the insurance industry in Australia.
Say goodbye to 70 million dollars and 200 legacy programmers.
While going to school I worked as a system operator on an AS/400. I learned all I could about the system by reading the extensive online documentation. While I've never worked on one since, it still looks good on paper.
I also got intern positions at local companies. Who actually let me write production code (with extensive code reviews, of course) This also looks good on paper.
Now, the time frame was the early 90's. If you could spell COBOL (and were therefore desperate) you could get a job. So I think I had an easy time of it.
I would do things a little different this time. I'd either donate my time and skills to some open source project, or start one up. Something small using available tools that demonstate my knowledge of (enter technology of choice here).
Then put the URL to myproject.sourceforge.org on your resume. If they even bother to look at your code then you'll be much farther ahead of the competition.
I've changed how I design/write code in the last
few years. I used to be an Object oriented fanatic
but I've found that the increased levels of
complexity it creates also matches an increase
in the effort to maintain said programs. Now,
I'm sure someone will say that I don't know how
to properly design/implement systems but I have
to disagree. I do know how it's done and how's done
is not good enough.
Polymorphism is easy to overuse, use it when you have to, no more. Composition is your friend use it when you can. Try to keep the core logic in
a few main files. Clarity and maintainability should be your second concern after 'make it
work'. Test, test, test is number three.
The rest of my advice would fill a small book but
most things are best learned though trial and
error.
Just think of the fun!
Joe Technophobe: "There's muh cumputer, it's uh winders three kind, but the cup holder
on it is durn broke".
Techno Geek1 : "Dear god, something from the Jurasic period, Just look at this fossil, a 286SX
and the cdrom, I mean 'cup holder is jammed with... , oh no that's sooo
sooo soooo very wrong.'
Techno Geek2 : "There are wires everywhere, have you even heard of zip strips? Keeps your layout
nice and tidy, and you don't even have to trip over them."
Techno Geek3 : "Let's talk about Product, it's all about the preparation and the hardware,
I think we can get you a nice durable all steel case, that's coffee proof and
and with lots and lots of RAM."
Techno Geek4 : "You god damned ignorant hilljack! How can you treat hardware this way, didn't
your mother teach you to wear anti-static wrist guards? Where did you grow
up? The third world?"
Joe Technophobe: "Nope, uh work fer Marketing in the Racing business"
Techno Geek2 : "Say no more, well take it from here"
Okay, python Mac extensions:
mac (Mac)
macerrors (Mac)
macfs (Mac)
MacOS (Mac)
macostools (Mac)
macpath
macresource (Mac)
Carbon interface for GUI:
Carbon.AE (Mac)
Carbon.AH (Mac)
Carbon.App (Mac)
Carbon.CaronEvt (Mac)
Carbon.CF (Mac)
Carbon.CG (Mac)
Carbon.Cm (Mac)
Carbon.Ctl (Mac)
Carbon.Dlg (Mac)
Carbon.Evt (Mac)
Carbon.Fm (Mac)
Carbon.Folder (Mac)
Carbon.Help (Mac)
Carbon.List (Mac)
Carbon.Menu (Mac)
Carbon.Mlte (Mac)
Carbon.Qd (Mac)
Carbon.Qdoffs (Mac)
Carbon.Qt (Mac)
Carbon.Res (Mac)
Carbon.Scrap (Mac)
Carbon.Snd (Mac)
Carbon.TE (Mac)
Carbon.Win (Mac)
I'm sure perl has similar extentions.
Why applescript? Why not a scripting language ... Other scripting languages will
that does all that applescript does and is
also crossplatform? This is not meant to bash
applescript, which is a fine scripting language.
It's just that applescript won't run on Win32,
*NIX, VAX
(python, perl and javascript even).
-d
When you do something quick and dirty, do you have
to maintain it? Or will that task be left to
some other poor slob who will bitch and moan
about the piss poor coding you did.
If you have to maintain it, do it right. You'll
be the person getting phone calls in the middle
of the night if you don't.
Of course you should always produce clean, well
tested code if you have any morals.
I guess the real answer is do the best you can
with what you're given. Make sure those in
charge know what you're doing and why you're
doing it. Are you, and your company satisfied
with the end result? If not, go back to start
and take a look at your methodology.
It reality only the government and
aerospace can afford true software engineering.
It sounds like these guys have a pretty good hook with heating and cooling. As a broad demographic, most truckers are not very technically sophisticated. This is starting to change but I believe only 30% actually use a PC. As you would expect, those who do use newer technologies are younger or have been exposed to them by large carrier fleets they work for forcing them to learn.
Every carrier and trucker is looking to save money. Every truckstop is looking for ways to get truckers to stop. So I think if these guys can deliver, they'll do fine. They will have to install a good number of locations before it makes sense for large carriers to sign contracts.
Yes, I write code for this industry.
When a motherboard with processor, video, nic, tv-out, usb and firewire that costs $150.00, you
can just buy another in three years.
Companies outsource because they don't have the political will to control costs themselves. So they pass it off to another company like IBM.
The result is usually the reduced cost you were looking for and severely reduced service levels.
I once consulted for a very large Insurance company, which decided to outsource it's legacy IT staff, approximatly 300 people.
About a third of them left and they were the most knowledgable, each averaging 20 years experience on the systems they maintained.
A small modification that might take any of them a day to build, test and install would take me three weeks. (it's hard to compete with 20 years of domain knowledge).
Skilled IT workers are not assembly line workers. Outsourcing should be for easily replaced resources.
Hmmmm... I'm not sure your statement is totally correct.
Just looking at the make-up of the support staff where I work would lead me towards the opposite conclusion.
We have a groups of 10 who support ~260 Win32 machines.
We also have 3 traditional sys-admins who support our ~150 sparc machines.
So, 1 person to 50 machines for unix or 1 person to 26 machines for Win32.
Of course this is just one sample, and that does not make a statistic, it's barely a data point.
I guess it depends on what you mean by easy.
I've been researching this for a while and I wanted a convenient way to access work 24x7. So I bought the sharp zaurus SL5500 and now the wireless portfolio from enfora. The portfolio looks like the better deal as I get to use my CF slot for something else.
Obviously I won't be doing much C++/Java coding through it but it will be nice when I get a call out on the town and I need to fix production.
Much better than explaining the use of the 'top' command to find a run-away process to the new operations guy. (yes, I've had to do this).
You say it must be object oriented with an easy to use IDE (and so on).
What specifically do you want to do? Why does it have to be a GUI? Why OOPS? Maybe Python would be a good choice if you really need to get the app out fast, maybe you have other requirements that demand C++. Possibly a two language combo would be best.
You have to consider the other developers also, are they able to code OOPS style or have they only done curses with C? You must consider their skills and learning curve.
Hans said:
"SQL has been crippling the database industry for decades"
I'll admit it's not the best syntax to manipulate
a database but before SQL there was no uniformity
in database access. At least you don't have to
learn a new "language" for each database you
maintain/access. I don't see how it's crippling.
I am curious about any solution he would propose.
And doubtfully much more.
.NET is a whole different critter.
Isn't Ebay, essentially, using an ASP business model? I also consider electronic record
translation services to fall under the ASP
model.
Microsoft
If your connection to the service goes down,
you go down. Not many companies today can
take that kind of risk.
Don't forget "cat", "cpio" and "dd"
Me man, me programmer, don't use no stinking GUI tool. Good geek use VT100 terminal.
shell>mysql -u geek -p geekpower
mysql>use database;
mysql>show tables;
mysql>show columns from geek_table;
mysql>select * from geek_table where desc = "Ode to my greatness";
mysql>exit;
shell>
The other postings have given good suggestions, I'd keep looking at freshmeat.net, everynow and then something really good appears.
As you can tell I prefer MySql. Unless you need stored proceedures or commit/rollback, I'd go with it. It's very robust and much faster than oracle.
I've never found GUI tools to make me more productive, but if it works for you...