- 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
it may be June but does it say this year?
Admin
Nuke the code base reverse engineer specifications and rewrite by June!
Admin
Not minimum. It doesn't have to be a text box, just any object with a property called
text
.Addendum 2024-02-22 07:06: *minimal
Admin
"obj is defined as Object, but is in fact a TextBox" -- no it is something that inherits from obj [aka anything] that has a .Text string property (there may be another I did not see].. This means that other non-UI types could be passed. One can think of it as "implicit dependency injection" of a sort. By doing this stinge like Unit Tests can be built...
NOTE: The above statements do not imply an endorsement of the practice, simply that such is true.
Admin
"obj is defined as Object, but is in fact a TextBox" -- no it is something that inherits from obj [aka anything] that has a .Text string property (there may be another I did not see].. This means that other non-UI types could be passed. One can think of it as "implicit dependency injection" of a sort. By doing this stinge like Unit Tests can be built...
NOTE: The above statements do not imply an endorsement of the practice, simply that such is true.
Admin
What's with the unholy indentation? I can only imagine that someone set tab width to 1 and then mixed tabs and spaces.
Admin
More likely a procession of subsubsubcontractor types who didn't give a rat's arse about consistent indentation. Or maybe just indentation in general.
Admin
What do you mean "Then we use a global calendar object to do absolutely nothing in our if statement." ?
At first I thought that to, but since
lEffTaxYear
is never initialized, it might usegoCalendar.effTaxYearByTaxYear(iMPTaxYear, lEffTaxYear)
to initialize it by reference...Admin
We want every bidder to bid lower than everyone else. ( paraphrasing Deep Purple / Made in Japan.)
Admin
How come that companies/organisations lack the money to properly pay proper devs, but still find the money to pay an entire food chain of consultants, subcontractors and subsubcontractors? Are lowest bidders bidding that low?
Admin
It's cheaper subsubcontractors all the way to the bottom, which is in Hell.
Admin
One of Remy's subtle attempts at sparking a debate and increasing traffic. I for one will not get drawn into it, especially since the "worst" is obvious.
Admin
Ah, I wish that I had the deep pockets of those who can afford the cheapest bidder.
Admin
BASIC was my first programming language, back in the 70's. I still can't get over the fact that "modern" dialects repurposed
DIM
as the type declaration statement. It's short for "dimension", it's for specifying the dimensions of an array.Admin
I'm not so sure about "...trying to pretend that VB6 could easily transition into VB .Net. " From my memory, MS were pretty straight about saying "it's basically C# using VB keywords"; I think the ideas of easy conversion from VB6 were more down to wishful thinking on behalf of the users.
Admin
In the early forms of BASIC, array dimensions were the only variable declarations. (And all statements began with a reserved word for the type of statement, even assignment statements such as: "LET X = Y") The very first compiler, Dartmouth BASIC, was like the oldest FORTRAN dialects. Except for arrays, variables were defined just by using them, with the name giving the type: names beginning with I - N were integers and all others were floating.
Then string variables were added to the language and distinguished by putting $ at the end of the name. It continued from there until Microsoft BASIC (in ROM with the tape cassette operating system on the early PC's), used a % suffix for integers, # for double-precision floating point, and ! for single precision (rarely used because single precision was the default). And you still could not pre-define any variables except arrays.
When they finally decided to allow pre-defined scalar variables, they didn't want to create another reserved word. So they used the one that was already reserved for declarations: DIM.
Admin
It's not so much how low the bids are as who is doing the bidding.
A Serious Company(tm) will, of course, only try to hire Serious Contractors. People with reputations, and security clearances, and reasonably high price tags. But, being idiots, they will still hire the Serious Contractor with the lowest bid.
The Serious Contractor can't possibly do the job themselves, so they bring in an external contractor and offer them half the money to do all of the work. One whose reputation could easily be mistaken for a May Day parade and who is so far off-shore that they can legally be claimed as salvage under international law.
Of course, they don't tell Serious Company(tm) about this because it would probably be illegal for them to even talk to the external contractor, but as long as nobody brings it up they can honestly say that nobody knew there was a problem.
At this point, the external contractor realizes that they aren't able to do the work either, since they are just made up of one guy holding a telephone while sitting on a cardboard box, so they turn around and hire some high school students off of Two-er or Three-er (having been priced out of Four-er and up long ago). Technically these students are working for lower wages than prison labour, and reside in a country which is under economic sanctions which prevent Serious Company(tm) from even knowing that they exist, but as long as there are a few extra layers of indirection nobody has to know that for sure.
Admin
Microsoft also had a "conversion tool" that would let you feed it in a VB6 program and it would spit out a VB .Net program. Well, that's what it claimed, anyway. It mostly didn't work, but managers definitely believed it worked.
Admin
What's unholy about it? The code's indented. Mash the space bar until it looks sorta right, done. Contractors get paid to write code, not read it.
Admin
@MaxiTB - "real" .NET developers use MSIL and https://www.nuget.org/packages/Microsoft.DotNet.ILCompiler
Admin
Hmm, at least in VB6, implicitly converting True to a String could also return e.g. "Wahr" or "Vrai", depending on locale. Never tried in VB.Net though.
Admin
So we need to realize that
EffTaxYear
is a long ... Are they that much confident in the longevity of their application that they need a long to represent their "effective tax" year? In comparison, the simple "tax year" variable is an int.Admin
I am a pro programmer, CompSci degree and was OO-ing in VB since Debora Kurata's book came out (hint: using composition). Then moved to C#. When I have had to touch VB.net, it all turned out pretty tidy. Same for Access and Excel code. Yeah, its annoying when you dont have generics, but one can always write code-generators... (maybe that ISNT a lesser evil..). Inheritance as in actual inheritance rather than interface implementation is a rare beast, like a strong spice reserved for very special occasions, unless you lack "excitement" in your life (UI widgets are a good use case, I found).
People with other backgrounds can produce VERY strange code in ANY language. (and of course I and people like me can still produce SOMEWHAT strange code if we don't watch out: -) )
Admin
Nah, that's pointless too because Roslyn provides near perfect performance if you compare it with other managed langauges; most of them magnitute slower in benchmarks.
If you want performance beyond that all that is left are unmanaged languages (where is only C++ left to be honest) and then for critical paths go straight to assembler. But lets be honest, this is only required for low level software requirements like drivers, some niche scientific problems or games development. In all other case it makes more sense to distribute the work instead of trying to get the best serial performance ;-)
Admin
I've seen a similar antipattern in VB6 to the return=True.... It's set to False at the top, so any abnormal return (like an ON ERROR override) would give a return statement of False, and it would only return True if there was no exception. Really bad code style, and I'm not sure you can even replicate it in VB .net (I got out before the migration at my former employer), but it smells like that. So you'd call if questionableFunc then noError else display 'whoops'
Admin
https://bestbbwporn.com
Admin
I'm not too worried about the fact that they just blindly take the first record from the control table. It's very possible that the application design is such that there is only ever one record in the control table, which contains the current values of all the things that they need values for.
I've worked with an ETL tool that does something similar, with a global parameter table that is populated on every run with a single row containing things like the current ETL process number.