|
chaosgeorge wrote: OMG what kind of systems do you code? lol i dont even remember what i was coding 10 years ago i guess it was basic or C, i think you are a frustrated out of date dude who could not catch up to latest technology
LOL, well you're right about one thing: I'm definately frustrated. I'm not outdated - in fact, if I was I wouldn't have the "tag line" I do: "Know way too many languages and master of none!"
The kind of systems I TRY to write are ones that stick around. Ten years ago I wrote a warehouse management system for one of the largest natural food food distributors in the United States on a HP-UX when a vendor specializing in such systems failed after receiving 3 million bucks. I wrote it in a month, reporting projects followed for another month or so to get everything needed for the Day to Day needs of people on the warehouse floor and for management.
You know what? They are still using that same system: works like Walmart's with the hand held scanners, the forklift scanners and wrist units from Symbol (for scanning bar codes of pickslots and products etc). It has matured over the years but its still the same system. that's the kind of systems I was writing 10 years ago, and I haven't stopped coding or staying current because I'm addicted to this stuff! I've been programming for 27 years and that my friend gives me a pretty good point of view over what technology is, does and what is innovative and what isn't.
In all fairness, Sharepoint and Microsoft CRM are decent packages; Server2008 is pretty decent as well. I particularly loved VB6 because the "package" was complete and it made true binaries unlike .Net (regardless of generation). Just In Time compilers do not protect intellectual property of developers unless they go through obfuscation steps to "conceal" their code.
Now for innovations - Microsoft's run of "Basic", Open Database Connectivity (ODBC), Various operating system roll outs prior to Vista and excluding Millenium, Outlook, Excel and Access and the Visual Basic for Applications tools, Microsoft Sidewider Joystick and various "Mice" ..well - awesome.
As for me being outdated, I disagree. New Technology is great however all to often the clammouring of new technology is just marketing folks putting proverbial lipstick on a pig and calling it new. I've been around long enough to know that today's "New" technology rarely is innovative. "Things" labeled as new technology often promote other people owning/managing your data (security risk), use more bandwidth than necessary (xml/soap as the interoperabilty cure all) and often it changes "processes" people know just enough to force them into learning how to do the same things thhey already do, differently which slows down productivity.
Here's an example of the kind of thing that frustrates me to no end: For as long as I can remember, in Microsoft products, the key combination CNTL-F pulls up a "Find" window where you can search for text and CNTL-H would call up a "Search-N-Replace" window: Wonderful. Now, another wonderful keypress I know and use without even needing to think about it, until recently, was using the F3 Key to "Find Next" instance of something I was searching for. This F3 key has been in multiple versions of Word, Excel, Access, Outlook, Powerpoint and many Microsoft programming environment IDE (Integrated Development Environment). This F3 "Find Next" keypress has been so well received that it can be found in all kinds of software these days regardless of operating system! But guess what... Microsoft doesn't use it anymore. I fire up Microsoft Office 2007, and it doesn't work the same way which means I have to work differently to do the same thing I've done for years without any appreciable benefit aside from inconveinence. Am I frustrated? Surely. Outdated? Just older and wiser.
I've programmed all kinds of systems including Microsoft CRM and Sharepoint and the API's are wordy, expensive from a bandwidth perspective, the interfaces are too "click happy" and users complain. You need people with serious experience in programming to beable to do anything more than add a custom field. You need to know a ton of technologies to understand how it all pieces together. Now I ask you friend, compared to Microsoft's "old" approach of having one script language that can talk to all it's products in the same manner... which is more intuitive? If this kind of observation and frustration is a sign I'm outdated, then so be it.
Know way to many languages... master of none!
|
|
|
|
|
JasonPSage wrote: labeled as new technology often promote other people owning/managing your data (security risk), use more bandwidth than necessary (xml/soap as the interoperabilty cure all) and often it changes "processes" people know just enough to force them into learning how to do the same things thhey already do, differently which slows down productivity.
Well about this you're right and well thanks to SP1 of .net 3.5 now we can use Data Services aka RESTFUL data or Resource Oriented Architecture, if we focus on that, yes its different way of do database stuff than it was done before (WCF, SOAP/XML) sure it is an innovation, of course ROA is not new but incorporating it .net and integrate it with linq well thats what's worth labeling "innovation through technology" making it easier, more elegant and more stable than with traditional WCF,SOAP,etc so my point is: is not just about making the same things in different ways, it's about achieving the same goal in less time and with better quality that's different and worth to invest.
So I conclude with this: the "new" approach of Microsoft is making every new technology a FOUNDATION, extensible technology to adapt to your needs, it's no longer that what you learned from VB6 is useless in vnext or .NET, since .NET era what you learned in .NET 1.0 applies the most for version 2.0, 3.0, 3.5 etc, that's why the major technologies of .NET have the sufix Foundation, and that's the same approach with Sharepoint and other technologies and that's something no other company has achieved, learning what's new is just a matter of weeks if you dedicate just part of your time, regards
|
|
|
|
|
Years ago my team and I put our truct in IBM and OS/2. We saw this Windows thing as a low quality FAD... then we moved our C++ development to cross platform tools and delivered for our OS/2 and our Windows customers - then all the cross-platform vendors either went out of business or decided to bleed us in licensing fees.
Then my company decided to go 100% COM/C++... in 2001!
I used to really hate Microsoft - all marketing, no quality! (this was from the DOS/Windows days). But IBM certainly was the wrong company to back.
Since then - Microsoft has done tons to improve productivity and quality. I can accomplish on my own what it would take a team of 4 or 5 people to produce in 1995. But, this comes at a price of technologyu shift. If you're in the old native C++ development mode - you're spednign way too much effort inventing the basics over and over.
Move on up to C# and ReSharper! Toss in some IoC - and lots of big I interfaces! Decouple that code and set yourself free!
Dale Thompson
|
|
|
|
|
but it runs so slow...
Know way too many languages... master of none!
|
|
|
|
|
Jason: I feel your pain. I've written lots of different things over the last 25 years and what used to take 500 bytes in assembly now takes 500k (not counting the 20MB framework you ALSO need). The assembly used to be elegant, tight, every byte on the stack accounted for and ran like lightning even on the most modest of machines. The new stuff? It's a crap shoot. You no longer REALLY know what's going on since you only wrote two lines of code and the framework magically does the rest behind the scenes.
But is that really so bad? What used to take days or weeks I can now do in hours -- And much of it is less error prone! The whole concept of super high level languages and wrappers around wrappers that wrap yet something else may not be efficient, but it no longer HAS to be be in most cases. Hardware has gotten so cheap that, as much as I like optimizing code, it's often cheaper to just buy a bigger box. Don't get me wrong: There's a plethora of clueless application developers (versus programmers!) out there that take this concept to the extreme and just slap something together with total disregard for performance.
I agree with many of your points:
- RAD trades efficiency for rapid development cycles. Absolutely! But that's the point, isn't it?
- MS does release technologies at a pace that's impossible to keep up with. Their "let's see if this one sticks" approach drives me nuts! But stick to their core technologies and it's actually pretty solid. I've seen more backward compatibility out of MS than out of most companies.
As for the product at hand: Sharepoint...
We use it. It's a love/hate relationship. From a developer's perspective I think it's a pain in the neck. From an end-user standpoint: They "just get it". Show me anything in the same price range that has such a consistent UI (think users used to Windows/Word/Outlook/Etc.) and a similar feature set and I might be tempted to switch. I sure haven't seen it, and it's not because I haven't looked.
Peter
|
|
|
|
|
Peter: Well Said. I agree with EVERY word you said through and through.
On your point about Microsoft being pretty solid for "backward compat - I agree but as of late I keep finding this "solidarity" going south. Sharepoint? Good product but I'm ultimately switching my loyalties.
Note alot of my frustration comes from what I see customers having to go through more and more lately. I'll have you know - I have really loved working with Microsoft technologies for a long time, but lately they have been giving me more reasons to dislike them.
BTW - I'm a fan of RAD dev.. especially for GUI development and integration into existing foundations. I've written my own RAD systems that literally wrote tons of code. Shoot, I'm not about rewriting the wheel all the time, I'm a firm believer that a SOLID API lays the foundation so you can concentrate on the applications - where the API is a CONSTANT, applications are not. when the API changes so frequently (the calls and such) it's hard to keep up. Honestly, if the "guts" perform decent, I don't care about how they work. But I would be so much less frustrated if API calls stayed more constant and were added to. If this kind of API management was done properly... then applications could more easily be migrated, often without doing anything other than recompiling against the new API. If you told me you wrote an API that ran on ANY OS - and was always being added to... I'd love it. The problem is when calls you made before no longer work. for example... Microsoft did some good stuff in win32 api (and some bloopers) but mostly good. when they added a new feature, the call was usually named like "windowcreate_ex" for extended... and more than once the code behind the API functions was changed but the results were the same so you only needed a simple recompile.
If Microsoft has one BASE API that was endian independant and platform independant, performed decent, and compiled to binary on any platform (at least all their own OS's) I'd be pretty interested. If they didn't keep dropping support for old commands during its life and instead just changed the code underneath as improvements were added, and added new function calls for "recommended" new versions of calls for new software being written, I'd be very very impressed. Then we could get really really skilled at that foundation, then we could write REALLY awesome RAD software that wrote code for that platform so we get the job done faster, and then customers could keep building on their infrastructures rather than simply replacing "tried and true" tested systems for new stuff that hasn't been proven.
Know way too many languages... master of none!
|
|
|
|
|
JasonPSage wrote: If Microsoft has one BASE API that was endian independant and platform independant, performed decent, and compiled to binary on any platform
LOL! I think they did try that. Remember NT on Alpha? That worked well! At this point, the PC based platform is so ubiquitous that I don't think it's an issue anymore. You really want to run Windows on a Sun box?
Your comment on the Win32 API is spot on: It used to be rock solid. What worked on Win16 even worked on Win32 and it all remained compatible. Although they goofed up once in a while, stuff usually got added instead of changed. But the other side of that coin is that you have to have a huge amount of code in place to support those old functions in light of new hardware and new functionality. Net result: Things get slow and bloated. Isn't that where we started?
Also, some of the old functions just CANNOT be made secure. Look at something as simple as strcpy... How many functions do you know that just take a pointer and start writing there without a decent size check? And you know that stuff exists on any platform, not just Windows. With more an more developers that don't know their mallocs from their frees, it's a disaster waiting to happen.
At some point, you have to address this stuff. You have to get rid of some of your original (good or bad!) design decisions. You have to remove some of the bloat. And the market says you have to make it easier for less experienced programmers to write decent code in a reasonable timeframe. This gives you no choice but to drop some compatibility. This applies to the base API, but also to everything else.
They took this to the extreme when they released Vista and all hell broke loose. Now people (developers) are getting used to it and it's getting better. Windows 7 is the optimization of what they built in Vista (doing exactly what you said: Change the code behind the APIs, but not the APIs themselves) and in Windows 8 we'll all get it right.
The dotnet stuff addresses the last issues and they've actually done a pretty decent job. It's gone through some rapid changes in the first few versions, but I'd rather them do that early on.
And if you really want to run your "old" stuff, you know what? Run it on an old environment. We'll even give you a free virtual one. It's not entirely bad?
BTW: Change happens. The wipers from my old Dodge don't fit my new Bimmer either. And I thought the ones from the Dodge were fine; they removed the rain, didn't they?
Peter
|
|
|
|
|
I agree with you Peter. I'm not against new stuff - I'm for it.
I do disagree on the strcpy stuff though, because frankly that code isn't bloated - its lean and mean and in the right hands its plenty secure. Microsoft isn't the only one who knows a malloc from a free
I do like and embrace the idea of having options: strcpy "raw" as well as having newer more secure options with documentation that specifies which is recommended but allows developers to use their own judgement.
I'm good with change too. BTW - NT on Alpha was a decent approach and I was a true fan boy of NT and was for years. Server 2008 is pretty decent also.
--Jason
Know way too many languages... master of none!
|
|
|
|
|
well said friend you r quite right about MS release technologies so fast. List we just start using vs 2008 in past 6 month and now vs 2010 is coming
|
|
|
|
|
Which is fine - 2008 and now 2010... the historical fact is - code you got working in 2008 might not recompile/work in 2010. Which makes it's so you aren't building on what you learn, you're too often scrapping what you had figured out.
I like to figure out new stuff... say I write a cool app that does XYZ... I should be free now to write a new application that does something different without being forced to constantly revisit and rework, retest the XYZ thing every "iteration" "product release" because someone else dictates as much.
I was an old turbo pascal developer years ago when Borland had a lot of awesome engineers writing their stuff. I left all that for Microsoft technology. Now, there is a language called freepascal which is pascal but it's completely object oriented like delphi, compiles on iphone, mac, linux, unix, dec alpha, nintendo and various embedded systems - and the API's have pretty much stayed backwards compatible and there even is a complete GUI IDE environment - where you write a gui once and it works on all the above OS's if they have a GUI system... even FreeBSD and OS/X for the people who really don't like change LOL. It even has a Delphi compatible mode where its like 99% dead on compatible with Delphi making delphi programs capable of compiling on other hardware and operating systems (when the code isn't to OS specific e.g. tons on win32 calls)
I wrote a web server with it that blows the doors off of IIS, apache and Lighttd - and unlike java's pcode - (java is not really compiled) - freepascal compiles to binary on every platform it supports. It's as fast and in many cases faster than microsoft's C++ stuff and runs circles around .net for speed.
I've used that language for years and it's funny - people still think pascal is a learner's language and they don't seem to know its object oriented. I've been heckled over my admiration for it often - but I laugh when my code runs faster and on more platforms than any other system I know (that does binary). Java does good for portable scripting, as does python, php and I think Ruby is honerably in the scripted/portable solution ranks now.
Ah well - the fact is - I'm an enthusiast and I love coding, I just like to build on what I've done and not have to start over each each year or two - especially because most decent software projects I write take a year or more to complete (the thinkstuff anyways).
--Jason
Know way too many languages... master of none!
|
|
|
|
|
|
JasonPSage wrote: Code I wrote 10 years ago on Unix still runs on Unix and Linux today. Code I wrote two years ago is already "outdated" in Microsoft Circles...
It's only a recent issue IMO, but yeah I totally agree. They're overdoing it. I don't see a real huge boost to productivity overall either compared to what I saw in the VB6 days.
Oh be careful with saying anything wrong about MS here. The kiddies are lurking.
|
|
|
|
|
Well i am agree with you but, frankly i didn't like my code to be working after 10 or 15 years
If our code works after that much time we will soon to be work less
Think about this if your car work very good after 20 years you may not buy new one.
Every product should have there life span. Just my opinion
|
|
|
|
|
The Microsoft ODBC technologies that have worked for years don't even work anymore on the new systems...
Really? I think you wrote this without thinking. It works for me.
Nuclear launch detected
|
|
|
|
|
So, help me on this one.
I have a legacy vb6 application that does all kinds of awesome things on ODBC databases. I've heard about and read about and seeked and search for MDAC8, as it's supposed to work on Vista. Have you had luck with this?
Further more, on the 64bit roll out of Vista, how do you proceed?
I'm not trying to be smart here - I haven't had any luck here and became frustrated.
There are literally tens of thousands of lines of tried and true code that allows me to copy databases from one to another like sharepoint but its easier. I can use it to monitor multiple databases remotely, launch programs and scripts when systems go down/connectivity lost, and likewise when it returns. I can monitor 250 databases with it... I can literally connect oto oracle, copy the entire datamodel to multiple target databases of different platforms, then export data models to excel, mysql, postgres, import and export to text: you name it... etc etc. It's a pretty awesome utility.... I'd hate to chuck it, rewriting it isn't really an option. It took on/off development over five years to get it where it is: its quite mature.
Know way too many languages... master of none!
|
|
|
|
|
Yes, ODBC 32-bit works normally on Windows Vista x64.
x64 applications works as well, only I tried only with SQL Server.
But everything works as normal.
I'm talking about C++ and ODBC API here. Not sure how VB6 is affected by MDAC.
I'm sure there is a MDAC 2.8 I think for 64-bit - I dont know if there is ODBC x64 support.
You can run application in 32-bit mode, even if is x64.
On Vista, I bet there's something related to UAC. You may try to read/write ODBC config files or so and you get all kinds of access denied or so errors, I don't know.
But this can be easily overcome by writing Vista specific code, or devising a CoCreateInstanceAsAdmin code sequences when UAC is needed. My 0.02.
Nuclear launch detected
|
|
|
|
|
Thanx for the response. I haven't much luck here - but I could try again.
Know way too many languages... master of none!
|
|
|
|
|
Everytime I INVEST time and energy into a Microsoft Product, they discontinue it just as I'm mastering it.
I'm mastering Windows API. (I try to do so every day since 1996). And that's not outdated.
Nuclear launch detected
|
|
|
|
|
xacc.ideIronScheme - 1.0 beta 3 - out now! ((lambda (x) `((lambda (x) ,x) ',x)) '`((lambda (x) ,x) ',x))
|
|
|
|
|
I don't understand why have you received several 1 votes for saying that you don't have a plan to use it?! What are they trying to tell? Like.. You *must* use it? So, let me repeat: "I am never planning to use SharePoint".
You cannot just convey your opinion without these idiots graying your post? Some people are just completely screwed up.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Rajesh R Subramanian wrote: You cannot just convey your opinion without these idiots graying your post?
I haven't voted, but IMHO he did not express any opinions in his post - he merely made his vote public.
|
|
|
|
|
Nemanja Trifunovic wrote: I haven't voted, but IMHO he did not express any opinions in his post - he merely made his vote public.
And how does that justify the ACs acting like children?
|
|
|
|
|
I like the concept of it and seeing it is a 'product' it is not bad at all however:
- in order to use it well, you need customizations and a very good setup. (it's still missing features.)
- you need to have designated people maintaining it.
- it's not always that fast.
|
|
|
|
|
I agree with your comment about Sharepoint.
Know way to many languages... master of none!
|
|
|
|
|
V. wrote: Stop smoking so you can: Enjoy longer the money you save.
How do you enjoy money that you save. If you enjoy your money then you need to be spending it. Unless you save your money in a hole in your mattress then you might enjoy it in another way .
Vita est usquequaque virtus victus ut plenus. Ego non sum semper iustus tamen Ego sum nunquam nefas!
|
|
|
|
|