• (cs)
    Alex Papadimoulis:

    But all's well that ends well. The original programmer had been promoted as a manager and the John's team has finally gotten the go-ahead to estimate costs of rewriting the system in .NET.



    The entire time I was reading this (until I got to this part), I was thinking they should just bite the bullet and rewrite the entire thing from scratch. It's a lot cheaper.

    This reminds of the Scott Adam's Dilbert Principle. The most incompetent employees get promoted to the position where they can do the least damage: Management.
  • Bob Balfe (unregistered)

    This I dare say is the difference between software engineer want-to-be's and the real deal.  I think the industry in general is plagued by people who "think" or "want" to be software engineers just so they can make the money.  I started seeing this in the late 90's when all sorts of people from different occupations flooded the industry.  There is a big difference between Engineer and Developer.

    I also see this with management.  The managers that were real software engineers have a much better understanding of the right way to do things on software projects versus the ones who just want a paycheck and leave at 5.

    Bob

  • (cs)

    No way. Impossible. Ridiculous. PROMOTED AS A MANAGER?!?! HE CAN'T EVEN SPELL DELETE! If this is true, then this is exactly what is wrong with the world. Incompetence getting rewarded. I'm starting to really hate capitalistic countries. If I were working for this company, I would have bolted in a split second, I don't care how much they would pay me to rework that in .NET. Of course, if it was a contract for 2 years at $1,000/hr, I might be inclined to stay for the collapse ;-).

  • (cs) in reply to GoatCheez

    <font size="2">I think developer interviews should include a spelling test as well as a test of coding ability.  Misspelled variable names are bad enough, but when you have misspelled methods propagated throughout an entire project, it gets to be seriously annoying.  My current project is littered with gems like "getDisplaySummery()".  Makes me cringe every time I have to call one of them.

    </font>

  • ICan'tSpeel (unregistered) in reply to cconroy
    cconroy:
    <font size="2">I think developer interviews should include a spelling test as well as a test of coding ability.  Misspelled variable names are bad enough, but when you have misspelled methods propagated throughout an entire project, it gets to be seriously annoying.  My current project is littered with gems like "getDisplaySummery()".  Makes me cringe every time I have to call one of them.

    </font>


    At least he's consistent throughout the application...the real problem with today's WTF's spelling errors, were the fact that it was two methods, one misspelled and one spelled correctly, did two wildly different things.

    I can't spell either, but at least when I misspell something I stick to my guns, and I sure as hell wouldn't have one function misspelled and another one spelled correctly.  Today's example seems more like Coding by Committee....
  • (cs)

    It amazes me how many companies use VBA "applications".  I did some work indirectly for a large telecomm company that starts with a 'V'.  Indirectly means I worked for a consulting company that did some work for the company.

    This company handled all of its project planning and management with a horrible horrible collection of VBA apps.  Anywhere from Excel(which acted as databases) to Access(which acted as the front-end).  Yes, I got the order on those right.  Somewhere, way in the back-end, there was an Oracle database.  We never got to see that though.  We were supposed to start working on a rewrite in .NET, but a couple of months after I started there, the project got canned.  Thankfully I no longer work for the consulting company, and now work for a sane company that uses Excel for spreadsheets and Access for jokes.

  • Anonymous Coward (unregistered) in reply to cconroy
    cconroy:
    <font size="2">I think developer interviews should include a spelling test as well as a test of coding ability.  Misspelled variable names are bad enough, but when you have misspelled methods propagated throughout an entire project, it gets to be seriously annoying.  My current project is littered with gems like "getDisplaySummery()".  Makes me cringe every time I have to call one of them.

    </font>

    Bah, get used to it. Us English programmers have been forced to misspell 'colour' and 'centre' for years.

  • (cs)

    Was the original developer's name Peter by any chance?

  • Sybren (unregistered) in reply to cconroy

    getDIsplaySummery isn't that bad. We've got code filled with "childs"...

  • (cs) in reply to Ytram
    Ytram:
    It amazes me how many companies use VBA "applications".  I did some work indirectly for a large telecomm company that starts with a 'V'.  Indirectly means I worked for a consulting company that did some work for the company.

    This company handled all of its project planning and management with a horrible horrible collection of VBA apps.  Anywhere from Excel(which acted as databases) to Access(which acted as the front-end).  Yes, I got the order on those right.  Somewhere, way in the back-end, there was an Oracle database.  We never got to see that though.  We were supposed to start working on a rewrite in .NET, but a couple of months after I started there, the project got canned.  Thankfully I no longer work for the consulting company, and now work for a sane company that uses Excel for spreadsheets and Access for jokes.


    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.
  • (cs)

    I wouldn't wait long before giving my 2 weeks notice. If someone created a trash like this he should be responsible for supporting it, I believe.

     

    >> Shapes were stacked on top of each other and then hidden and shown at run time

    That reminds me of the hotel system I was working on a couple of years before.........NEVER EVER AGAIN!

     

    >> The original programmer had been promoted as a manager

    And nobody quit as of this second? I wonder how much are they getting in this company...

  • (cs) in reply to Otac0n
    Otac0n:


    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    Well, some people prefer porn to real sex. Same kind of thinking.
  • Yo (unregistered) in reply to Otac0n
    Otac0n:

    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    I would have let you go had you said MSSQL by itself, but adding Access is just plain ignorant.

    No offense, but a real enterprise developer knows the difference between Access and an enterprise database/UI.

    Also acceptable answers:
    Postgres, Firebird, MySQL 5 (if you are doing lots of inserts with little transactions), DB2 (as long as it isn't on the AS400)

    Unacceptable Answers:
    Access, Open Office's Base

    These are not databases. Please use the right tool for the job.

  • (cs) in reply to Otac0n
    Otac0n:
    Ytram:
    It amazes me how many companies use VBA "applications".  I did some work indirectly for a large telecomm company that starts with a 'V'.  Indirectly means I worked for a consulting company that did some work for the company.

    This company handled all of its project planning and management with a horrible horrible collection of VBA apps.  Anywhere from Excel(which acted as databases) to Access(which acted as the front-end).  Yes, I got the order on those right.  Somewhere, way in the back-end, there was an Oracle database.  We never got to see that though.  We were supposed to start working on a rewrite in .NET, but a couple of months after I started there, the project got canned.  Thankfully I no longer work for the consulting company, and now work for a sane company that uses Excel for spreadsheets and Access for jokes.


    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    To be honest, I would probably LIKE working with Access better than Oracle.  That doesn't mean I ever would though.  Access is only appropriate for very small scale applications, or hobby apps.  You would never want to have Access as your back end on an application of any decent size.

    As for enterprise applications, I'll take MS SQL, Postgre, or Oracle(in that order).  As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.
  • (cs) in reply to Yo

    Using an access database is perfectly appropriate for testing and development work. I used an access database to develop a system that eventually used an Oracle or MS-SQL database for the real deal. The access database just acted as an easy and quick stand in where I could fiddle with the database when I needed to do so. And then when development was more or less finished, migrating it to virtually any real database was easy, since I had been forced to not use DB-specific features and since I used ODBC to access the data source in the first place.

    Access would be perfectly fine for any system that has a smallish database (under a few gigs) that works entirely on a single computer. For anything where the data moves over the network at any point (or for any major production system), I'd be wary of using Access for anything other than development and testing.

     

     

  • (cs) in reply to Ytram

    Ytram:

    As for enterprise applications, I'll take MS SQL, Postgre, or Oracle(in that order).  As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.

    Umm.. MySQL has come quite a ways, and yes, it's enterprise level. Not the free version, mind you, but you might take a look at http://www.mysql.com .

     

  • (cs)

    I would have fucking quit.  [:@]

  • (cs) in reply to ferrengi
    ferrengi:
    The most incompetent employees get promoted to the position where they can do the least damage: Management.

    Alex Papadimoulis:
    But all's well that ends well. John's team has finally gotten the go-ahead to estimate costs of rewriting the system in .NET.

    .NET? They should promote the whole team.

  • (cs) in reply to Otto

    Otto:

    Umm.. MySQL has come quite a ways, and yes, it's enterprise level. Not the free version, mind you, but you might take a look at http://www.mysql.com .

    Oh goodness no. They are still a toy. Even the version 5.0. I spent some time reviewing it: http://weblogs.asp.net/alex_papadimoulis/archive/2005/10/26/428527.aspx

    As far as your comments on using Access on your local machine and SQL Server on your server, you should use SQL Server Developer edition. It's free (I think) -- I know I have like 4 copies of it I keep getting from places. Oracle's is definitely free.

  • chb (unregistered)
    Alex Papadimoulis:

    'Clears data that may exsist from provious quarys
    ' Check and make sure file exsist
    ' Loads invoice from invoiceComponint into memeory
    ' To more closely match XXXX Estaments this multliplier is used
    ' If csv file had allready been processed then deleat file
    Public Function PeroidEnding_1(


    i looked grammar up in the dictionary but i only found gran'ma... close.

    How does the comment link to the function name?
    Maybe that's copy'N'paste (TM) to?
  • (cs) in reply to Alex Papadimoulis

    Alex: Checks and triggers? That's it? That all you can find to complain about? Two weird features that almost never get used in a real-world production system?

    Most people use databases to, surprise, store and serve up very large amounts of data. MySQL can do that just as well as Oracle, and it's seeing lots and lots of "enterprise" use because of that.

    MySQL may be 20 years behind some of the other big name players in the database game, but that's mainly because those big players are 20 years ahead of the actual software being developed for production use.

     

  • C_Boo (unregistered) in reply to MikeB
    MikeB:
    Was the original developer's name Peter by any chance?


    Nah, I'm pretty sure it was Brad. I inherited his gems on my last job.
  • (cs) in reply to Otto
    Otto:

    Alex: Checks and triggers? That's it? That all you can find to complain about? Two weird features that almost never get used in a real-world production system?


    You are joking, right?


    Most people use databases to, surprise, store and serve up very large amounts of data.


    I don't think it has to be very large amounts of data. A database of, say, 100 MB can be quite reasonable - though it easily fits into a pocket PC.


    MySQL can do that just as well as Oracle, and it's seeing lots and lots of "enterprise" use because of that.

    Even plain text files can store "very large amounts of data". But Oracle can do much more, and MySQL - with all its valid uses - is far from matching with the Oracle DB.


    MySQL may be 20 years behind some of the other big name players in the database game, but that's mainly because those big players are 20 years ahead of the actual software being developed for production use.



    I know a lot of systems, built with Oracle, that make use of a number of features only found in the Oracle DB.
  • dasmb (unregistered) in reply to Otto

    As for enterprise applications, I'll take MS SQL, Postgre, or Oracle(in that order).  As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.

    Umm.. MySQL has come quite a ways, and yes, it's enterprise level. Not the free version, mind you, but you might take a look at http://www.mysql.com .

    That's as maybe.  But for doing the kind of thing Access does well -- quickly developing forms and queries for small, small, small applications with little or no code and thus a low initial cost -- there's just no competition from any of these players.  Your choices are packages like FileMaker (ugh), Foxpro (shudder) or PowerBuilder (stab me instead).

    I know these are hack database for hack jobs, but Guess What -- nine times out of ten, for small to medium agencies, Access-like tools solve the problem.  I don't like it either, but that's the goddamn truth. 

    Sure, when you outgrow Access there's a brand new problem.  But the hope remains that by the time you've outgrown it your budget, requirements and domain knowledge have also grown, to the point where the cost of developing and managing a real transactional database system rather than clinging to a networked-file kludge makes sense.

    Incidentally, I'd love to see MySQL and a decent framework replace Access.  But by the time it solved the problem, it wouldn't really look like MySQL anymore.

  • blindahl (unregistered) in reply to ferrengi
    ferrengi:
    Alex Papadimoulis:

    But all's well that ends well. The original programmer had been promoted as a manager and the John's team has finally gotten the go-ahead to estimate costs of rewriting the system in .NET.



    The entire time I was reading this (until I got to this part), I was thinking they should just bite the bullet and rewrite the entire thing from scratch. It's a lot cheaper.

    This reminds of the Scott Adam's Dilbert Principle. The most incompetent employees get promoted to the position where they can do the least damage: Management.

    Imhoff's Law of Bureaucracy - The organization of any bureaucracy is very much like a septic tank - the REALLY big chunks always rise to the top.

    my corrolary - so does the scum :)

  • dasmb (unregistered) in reply to ammoQ

    Alex: Checks and triggers? That's it? That all you can find to complain about? Two weird features that almost never get used in a real-world production system?

    You are joking, right?

    No, no he isn't.  I've seen some MySQL based solutions and yea -- there's little data integrity in place there.

    Most people use databases to, surprise, store and serve up very large amounts of data.

    A common misperception.  Databases can be of any size.  At my last job, we used a database to store as few as ten records.  Why?  Because we'd already written a robust O-R mapping engine we trusted and thus we could re-purpose it for use on our smart client, palm pc and middleware apps.

    MySQL can do that just as well as Oracle, and it's seeing lots and lots of "enterprise" use because of that.

    Enterprise use <> Enterprise class.  Enterprise CLASS denotes a need for robustness and reliability -- the sort of thing you need for your financial records and customer data, but not necessarily your website's cache mechanism.  MySQL is quick and cheap to deploy, which makes it perfect for sloppy little apps where we don't care about data integrity -- but keep it the hell away from my mainframe.

  • ChiefCrazyTalk (unregistered) in reply to Otto
    Otto:

    Alex: Checks and triggers? That's it? That all you can find to complain about? Two weird features that almost never get used in a real-world production system?

    Huh??? Show me a real world production database that *doesn't* use triggers, even if its just for things like auditing, cascading deletes, or enforcing referential integrity.  (and yes, I know there are other ways of handling these - but sometime a trigger works best)

  • (cs) in reply to chb
    Anonymous:
    Alex Papadimoulis:

    'Clears data that may exsist from provious quarys
    ' Check and make sure file exsist
    ' Loads invoice from invoiceComponint into memeory
    ' To more closely match XXXX Estaments this multliplier is used
    ' If csv file had allready been processed then deleat file
    Public Function PeroidEnding_1(



    i looked grammar up in the dictionary but i only found gran'ma... close.

    How does the comment link to the function name?
    Maybe that's copy'N'paste (TM) to?

    Your post would've been much funnier had you committed the standard sin, and said "I looked grammer up."

     

    [pi]

  • (cs) in reply to Ytram
    Ytram:
    As for enterprise applications, I'll take MS SQL, Postgre, or Oracle(in that order).  As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.


    Granted that Yahoo runs "Yahoo! Finance" on MySQL. The Associated Press supports 11,000 _concurrent users_ on MySQL. Cox Communication runs MySQL databases with 3,600 tables and 2 Billion rows. (*)

    But if you want to do anything _Enterprise_ level, who would rely on MySQL?

    Footnote (*): Admitidly taken from MySQL websites.  Interpret it as you will.

  • scriptor (unregistered) in reply to dasmb

    > I'd be wary of using Access for anything other than development and testing.

    How about using MS-Access (that is not the MS-Jet file) as a front end to a real database server. Seems reasonable to me to make use of the form tools.

  • (cs) in reply to Otto
    Otto:

    Alex: Checks and triggers? That's it? That all you can find to complain about? Two weird features that almost never get used in a real-world production system?

    Wow, I have never used a realy-and-truly mission-critical app before that DIDN'T use triggers.  They're not the be-all and end-all, but they're incredibly useful, if you're not dealing with web boards.  And I can barely think of a real-world production application that doesn't work with checks.  Heck, the forum website I run uses checks, and (for reasons that are ultimately silly) I am considering adding a couple triggers.)

  • (cs) in reply to ammoQ
    ammoQ:
    Otac0n:


    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    Well, some people prefer porn to real sex. Same kind of thinking.


    Hehe - this had me cracking up for ages. so true... so true...
  • (cs)

    Speaking of the interesting spellings, I worked with a guy who pronounced 'calculate' as 'cac-u-rate'.

    Any guesses on how he spelled it in comments?

    Answer:
    // Cacurate PI to 100 digits...


  • jbode (unregistered)

    One late-nite call resulted from the Calculate_Intergrated() function working slightly different from the Calculate_Integrated() one.

    No comments about that particular gem?  That one has me dying on the inside.

  • (cs) in reply to Anonymoose
    Anonymoose:
    Speaking of the interesting spellings, I worked with a guy who pronounced 'calculate' as 'cac-u-rate'.

    Any guesses on how he spelled it in comments?

    Answer:
    // Cacurate PI to 100 digits...




    At least he only misspelled it in the comments and not in variable names. As people mentioned before, if you can't spell, at least be consistent and make the same spelling mistake every time you intend to use that variable.
  • (cs)

    I'm calling "shenanigans" on the misspelled comments section!

    Some of those spelling errors are believable, but come on, I don't think there is a programmer alive that doesn't know how to spell "delete". 

    I'm thinking this was doctored up a bit. Too bad there's no ASCII code for a backwards R. :)

  • (cs) in reply to ammoQ
    ammoQ:
    Otac0n:


    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    Well, some people prefer porn to real sex. Same kind of thinking.


    Now there is a parallel I never would have expected.  Bravo, ammoQ, bravo.
  • nuo (unregistered) in reply to FrostCat

    I've ever learn that data, logic and ui should be as separate as possible. A database system, to me, is something to store only, and that's it, it's like a container. If you want checks, why don't you put them into the input treatment code? and in the the writedb() too?

  • (cs) in reply to Anonymoose
    Anonymoose:
    Speaking of the interesting spellings, I worked with a guy who pronounced 'calculate' as 'cac-u-rate'.

    Any guesses on how he spelled it in comments?

    Answer:
    // Cacurate PI to 100 digits...




    I'm going to venture a guess that he's asian.  I can spot "Engrish" from a mile away.
  • (cs) in reply to marvin_rabbit

    marvin_rabbit:
    Ytram:
    As for enterprise applications, I'll take MS SQL, Postgre, or Oracle(in that order).  As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.


    Granted that Yahoo runs "Yahoo! Finance" on MySQL. The Associated Press supports 11,000 _concurrent users_ on MySQL. Cox Communication runs MySQL databases with 3,600 tables and 2 Billion rows. (*)

    But if you want to do anything _Enterprise_ level, who would rely on MySQL?

    Footnote (*): Admitidly taken from MySQL websites.  Interpret it as you will.

    Once again, you are confusing "enterprise use" with "enterprise class."

  • mol (unregistered)

    The really only must-have for RDBMS are ACID transactions (which can MySQL do for years). The rest is just about design.

    Normal applications have several layers -- at least presentation layer, bussiness logic layer, data layer.

    Data layer is responsible for storing and retrieving data, it can check some integrity.

    For Oracle, MS SQL etc. you can make data layer from the database server itself, implementing the needed things on server.

    For MySQL you would simply have data layer implemented in some normal programming language and you will check constraints on this level, the db server will be visible only to this layer and all applications will connect through this layer (not directly to db!). It's not harder to develop and you can much easily change the db server.

    Conclusion: the only problem with MySQL is that Oracle/MS SQL/etc. users want to apply design patterns which work for Oracle and than they are surprised that it doesn't work well. That's true. You must use different (develop new) design patterns.

  • Excell -- arrgggh (unregistered) in reply to Otto

    Actually, I've never tried to surprise my data.   On the other hand, I've often been surprised by data I've come across.

    But it's all evolutionary.   Before Excel, people used to think that they could use Word Perfect as a database.


  • notloggedin (unregistered) in reply to nuo

    Anonymous:
    I've ever learn that data, logic and ui should be as separate as possible. A database system, to me, is something to store only, and that's it, it's like a container. If you want checks, why don't you put them into the input treatment code? and in the the writedb() too?

    Yeah, because no-one ever misinterprets / messes up / misses off the validation somehow, writes a stored procedure with bugs, runs SQL that'll result in bad data or feeds in data that's somehow invalid; hell, that's why I don't bother with referential integrity, I mean it's only storing data and I can check it in my higher tier.

  • troutinator (unregistered) in reply to mol

    VBA is the bane of programmers. I admit I have developed ""applications"" in Access with some VBA code on the backend handling some features such as barcode label printing on a seperate printer but in response to adding records to a table. However I quickly moved the data from Access to MySQL server, which in our case works fine, I don't want to use Oracle or MS-SQL, I don't know them and wanted something up now that would run on a PC, yet serve a couple of other PCs.

    No as for the bane part of VBA, the system really needs to be rewritten, but because of the stunts I pulled with VBA I don't want to bite the bullet and rewrite a new front-end. Also, as for Access, the report tool is fairly handy, although I'm sure there is a better replacement, but you have to admit, at least Access gives you everything you need in one package, database, frontend, reports, and even a "scripting" language.

  • (cs) in reply to ICan'tSpeel

    <font size="1" style="font-family: verdana;">

    Anonymous:
    At least he's consistent throughout the application...the real problem with today's WTF's spelling errors, were the fact that it was two methods, one misspelled and one spelled correctly, did two wildly different things.

    I can't spell either, but at least when I misspell something I stick to my guns, and I sure as hell wouldn't have one function misspelled and another one spelled correctly.  Today's example seems more like Coding by Committee....



    <font size="2">At one point we had both messageReceived() and messageRecieved(), until someone finally went through and corrected them.  All together now: "I before E, except after C..."

    </font>
    </font>
  • (cs) in reply to scrapdog
    scrapdog:
    Some of those spelling errors are believable, but come on, I don't think there is a programmer alive that doesn't know how to spell "delete".


    It is easy.  Just stick a "de" in front of "1337".

    Sincerely,

    Gene Wirchenko

  • (cs)

    MySQL? I dident know swedes could program.

  • Yo (unregistered) in reply to Ytram
    Ytram:

    As to Yo, who mentioned MySql, that is also nothing more than a hobby database.  It shouldn't ever be used for enterprise applications, regardless of the number of inserts, transactions, etc.


    Yeah...try telling that to google, nasa, ibm...you know...those chumps.
  • (cs)

    I swear I know this guy... [:S]

  • Rappo (unregistered) in reply to Yo

    Anonymous:
    Otac0n:

    Are you saying that you would rather work with Oracle than Access?

    Bleh, call me a fan boy, but I Like both Access and MS SQL Server FAR better than oracle.


    I would have let you go had you said MSSQL by itself, but adding Access is just plain ignorant.

    No offense, but a real enterprise developer knows the difference between Access and an enterprise database/UI.

    Also acceptable answers:
    Postgres, Firebird, MySQL 5 (if you are doing lots of inserts with little transactions), DB2 (as long as it isn't on the AS400)

    Unacceptable Answers:
    Access, Open Office's Base

    These are not databases. Please use the right tool for the job.

     

    Well I am consultant who spends most of their working life doing Access jobs, and contrary to your ignorant and foolish beliefs it's quite good at what it does.

    Access can be used quite nicely for small/medium inhouse databasing and is one of the nicest reporting tools out there.

    Sure if you what a larger system you'll need to get a "real" database, but then you'll need to get a DBA to keep it running propperly and maybe a new server to put it on.

    Funnly enough Access still exists as it fills a need in the market.

    Of course like any platform there can be atrocities and I've seen my share.

Leave a comment on “Whaddya Mean It's VBA-based?”

Log In or post as a guest

Replying to comment #:

« Return to Article