A rant
-
In my current job, I have to maintain a VB.NET app written by someone else. Here is my list of complaints: 0. There is no documentation and comments are written in really bad Spanish. 1.
Dim this_is_a_very_long_variable_name_damn_it
... The previous programmer also didn't know that theNamingConvention
of variables in .NET. 2. Since he also didn't know theAs
clause or theDirectCast
instruction existed in VB.NET, now I have to figure out whether a particularObject
is aString
, aDataRowView
or anUndocumentedClass
. 3. Some classes were plagues withWriteOnly
propeties.WriteOnly
properties don't ******* make sense! The only thingWriteOnly
properties can do is sending parameters to an object before you call one of its methods. But that is what method parameters are for! 4. I once found this comment:' NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
(translation to English: I don't know how this works exactly, check it out). Dang! Let's be more concise:PreviousProgrammer.Code.MakeBleed(Eduardo.Eyes) ' yes, really
Coming from a C and C++ background, where you have to be really precise unless you like messy results, I find this situation too difficult to bear with. But I need 6 months of job experience to graduate. I hate VB (either the real VB or VB.NET). I hate people who program in VB.To those who understand, I extend my hand. To the doubtful I demand: Take me as I am. Not under your command, I know where I stand. I won't change to fit yout plan. Take me as I am.
leonej_dt wrote:
I hate VB (either the real VB or VB.NET). I hate people who program in VB.
I program a lot in VB, but I don't do the stuff you've encountered in this program. I have encountered such. K & R C, the original C language, let you pass a byte to a function expecting a two-byte word, and didn't care what consequences you suffered as a result; functional prototypes allowing strong types for function parameters didn't appear until the first ANSI specification of the language, and a lot of code is still floating around in the original version. It is inexcusable in my opinion to use typeless constructs in an environment that supports strong typing. I learned this with experience, something you'll have one day - perhaps you'll have enough experience to understand that bad code from a bad coder do not make the coding environment bad. My own background is C/C++. VB is a much less concise language, but when used with care it is far more readable and far easier to use than C/C++ for a much larger percentage of the population. Why else is it so popular compared to C/C++? Thus, if you want to write code that you're not willing to pay premium dollars to maintain, you write it in VB or something of similar ease of use. That doesn't mean it has to be written by idiots, it just has to be maintainable by idiots. It's not the language, silly, it's the programmer :laugh:
leonej_dt wrote:
PreviousProgrammer.Code.MakeBleed(Eduardo.Eyes) ' yes, really
That should be good...for a start.
-
What's so bad about writeonly properties? They do have some use.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
Setting passwords, for instance.
-
In my current job, I have to maintain a VB.NET app written by someone else. Here is my list of complaints: 0. There is no documentation and comments are written in really bad Spanish. 1.
Dim this_is_a_very_long_variable_name_damn_it
... The previous programmer also didn't know that theNamingConvention
of variables in .NET. 2. Since he also didn't know theAs
clause or theDirectCast
instruction existed in VB.NET, now I have to figure out whether a particularObject
is aString
, aDataRowView
or anUndocumentedClass
. 3. Some classes were plagues withWriteOnly
propeties.WriteOnly
properties don't ******* make sense! The only thingWriteOnly
properties can do is sending parameters to an object before you call one of its methods. But that is what method parameters are for! 4. I once found this comment:' NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
(translation to English: I don't know how this works exactly, check it out). Dang! Let's be more concise:PreviousProgrammer.Code.MakeBleed(Eduardo.Eyes) ' yes, really
Coming from a C and C++ background, where you have to be really precise unless you like messy results, I find this situation too difficult to bear with. But I need 6 months of job experience to graduate. I hate VB (either the real VB or VB.NET). I hate people who program in VB.To those who understand, I extend my hand. To the doubtful I demand: Take me as I am. Not under your command, I know where I stand. I won't change to fit yout plan. Take me as I am.
Gee you're a student or an intern and you didn't get handed the best and coolest program available for you to screw up??? OMG you've got an app written by a bad VB programmer. So what? You think there aren't shitty programs floating around that are in C, C++, Pascal, COBOL or Assembly? The trick is to learn the language instead of whining about it and then fix the program as best you can within the parameters of your instructions. If you do a good job with this one, maybe they'll trust you enough to give you something a little better written next time.
leonej_dt wrote:
But I need 6 months of job experience to graduate.
Nope. In six months you'll still be at the low end of the food chain. Unless daddy owns the company, you won't get to talk about your job being "too difficult to bear" for years. Maybe somewhere down the line, when you have outgrown "Not under your command, I know where I stand. I won't change to fit yout plan," you'll be a programmer with enough experience to talk about what languages are good and what ones aren't. But first you need to walk the walk, then you can talk the talk.
Jon Smith & Wesson: The original point and click interface
-
In my current job, I have to maintain a VB.NET app written by someone else. Here is my list of complaints: 0. There is no documentation and comments are written in really bad Spanish. 1.
Dim this_is_a_very_long_variable_name_damn_it
... The previous programmer also didn't know that theNamingConvention
of variables in .NET. 2. Since he also didn't know theAs
clause or theDirectCast
instruction existed in VB.NET, now I have to figure out whether a particularObject
is aString
, aDataRowView
or anUndocumentedClass
. 3. Some classes were plagues withWriteOnly
propeties.WriteOnly
properties don't ******* make sense! The only thingWriteOnly
properties can do is sending parameters to an object before you call one of its methods. But that is what method parameters are for! 4. I once found this comment:' NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
(translation to English: I don't know how this works exactly, check it out). Dang! Let's be more concise:PreviousProgrammer.Code.MakeBleed(Eduardo.Eyes) ' yes, really
Coming from a C and C++ background, where you have to be really precise unless you like messy results, I find this situation too difficult to bear with. But I need 6 months of job experience to graduate. I hate VB (either the real VB or VB.NET). I hate people who program in VB.To those who understand, I extend my hand. To the doubtful I demand: Take me as I am. Not under your command, I know where I stand. I won't change to fit yout plan. Take me as I am.
It doesn't matter what language you're working in, hell is other peoples code. While it's definitely easier to create a mostly working horror in VB than C/++, the latter languages have far greater scope to create a true codethulu.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
-
Ah, yes. The hallmarks of a VB app. Wait 'till you run into one where all data is stored in a system of global Object arrays... arrays that are used for completely different purposes depending on context. The last time i had to do serious VB work, it put me off programming for months afterward. Bear with it, if nothing else it'll teach you exactly why some of these practices are discouraged. And heavy drinking does help to calm the flashbacks. Somewhat.
----
You're right. These facts that you've laid out totally contradict the wild ramblings that I pulled off the back of cornflakes packets.
No, it's the hallmark of a BAD VB PROGRAMMER. I keep reminding people, you can write crap in any language. I have seen it done.
-
It doesn't matter what language you're working in, hell is other peoples code. While it's definitely easier to create a mostly working horror in VB than C/++, the latter languages have far greater scope to create a true codethulu.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
dan neely wrote:
codethulu
Brilliant! You should trademark that *immediately*. And register codethulu.net ... :)
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
-
Setting passwords, for instance.
Why would that be bad? If you have a password be writeonly, then only the class would be able to work with it. A password MAY not really something you'd want to pass in and out of a class. The purpose of writeonly is to be able to set a property to be used by the class internally, that may not necessarily be need to be read externally from the class.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
-
Why would that be bad? If you have a password be writeonly, then only the class would be able to work with it. A password MAY not really something you'd want to pass in and out of a class. The purpose of writeonly is to be able to set a property to be used by the class internally, that may not necessarily be need to be read externally from the class.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
Paul Conrad wrote:
Why would that be bad?
:confused: Sorry if I gave the impression that would be a bad thing, the goal of my reply is the exact opposite.
Paul Conrad wrote:
If you have a password be writeonly, then only the class would be able to work with it. A password MAY not really something you'd want to pass in and out of a class. The purpose of writeonly is to be able to set a property to be used by the class internally, that may not necessarily be need to be read externally from the class.
Exactly the point I wanted to make.
-
Paul Conrad wrote:
Why would that be bad?
:confused: Sorry if I gave the impression that would be a bad thing, the goal of my reply is the exact opposite.
Paul Conrad wrote:
If you have a password be writeonly, then only the class would be able to work with it. A password MAY not really something you'd want to pass in and out of a class. The purpose of writeonly is to be able to set a property to be used by the class internally, that may not necessarily be need to be read externally from the class.
Exactly the point I wanted to make.
Le Centriste wrote:
gave the impression that would be a bad thing, the goal of my reply is the exact opposite
No worries, my bad if I misread your post:-O
Le Centriste wrote:
Exactly the point I wanted to make.
Cool dude, we're on the same page :-D I do get alot of students who wonder about the idea of the purpose of writeonly, and that is one example I give. It is one of those things that can be sort of fuzzy. Not as strange as trying to explain what a Friend access modifier is.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
-
Le Centriste wrote:
gave the impression that would be a bad thing, the goal of my reply is the exact opposite
No worries, my bad if I misread your post:-O
Le Centriste wrote:
Exactly the point I wanted to make.
Cool dude, we're on the same page :-D I do get alot of students who wonder about the idea of the purpose of writeonly, and that is one example I give. It is one of those things that can be sort of fuzzy. Not as strange as trying to explain what a Friend access modifier is.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
Paul Conrad wrote:
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
I was afraid that you would apply the above to me :doh:
-
Paul Conrad wrote:
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
I was afraid that you would apply the above to me :doh:
:laugh::laugh::laugh: Naah, I'll just categorize it as a little communication hiccup :-\
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
-
In my current job, I have to maintain a VB.NET app written by someone else. Here is my list of complaints: 0. There is no documentation and comments are written in really bad Spanish. 1.
Dim this_is_a_very_long_variable_name_damn_it
... The previous programmer also didn't know that theNamingConvention
of variables in .NET. 2. Since he also didn't know theAs
clause or theDirectCast
instruction existed in VB.NET, now I have to figure out whether a particularObject
is aString
, aDataRowView
or anUndocumentedClass
. 3. Some classes were plagues withWriteOnly
propeties.WriteOnly
properties don't ******* make sense! The only thingWriteOnly
properties can do is sending parameters to an object before you call one of its methods. But that is what method parameters are for! 4. I once found this comment:' NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
(translation to English: I don't know how this works exactly, check it out). Dang! Let's be more concise:PreviousProgrammer.Code.MakeBleed(Eduardo.Eyes) ' yes, really
Coming from a C and C++ background, where you have to be really precise unless you like messy results, I find this situation too difficult to bear with. But I need 6 months of job experience to graduate. I hate VB (either the real VB or VB.NET). I hate people who program in VB.To those who understand, I extend my hand. To the doubtful I demand: Take me as I am. Not under your command, I know where I stand. I won't change to fit yout plan. Take me as I am.
leonej_dt wrote:
But I need 6 months of job experience to graduate.
Well, I would say hold out 6 months if that is all it takes. I know it is suffering. My first job was RPG-II and COBOL, I spent 4 years in it with accounting before I jumped ship. Trust me, if I can survive 4 years of RPG-II, you can survive 1/2 year of VB. Don't let your C/C++ slide, do something now and then to keep it fresh such that when you escape VB you can still program C/C++ as well as when you started doing VB work. :) and if you are completely insane like me, you will end up developing a spreadsheet program , a 4G language to language x converter, and a 4D chess game in the language you hate. There are just days I needed to do something other than accounting or I would have gone [more] completely mad! ;P
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
dan neely wrote:
codethulu
Brilliant! You should trademark that *immediately*. And register codethulu.net ... :)
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Jim Crafton wrote:
And register codethulu.net
the admin contact would, presumably, be H.P. Lovecode?
Jon Smith & Wesson: The original point and click interface
-
dan neely wrote:
codethulu
Brilliant! You should trademark that *immediately*. And register codethulu.net ... :)
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Jim Crafton wrote:
are you sure it is not already the zillionth CP server domain?
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
It doesn't matter what language you're working in, hell is other peoples code. While it's definitely easier to create a mostly working horror in VB than C/++, the latter languages have far greater scope to create a true codethulu.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
dan neely wrote:
codethulu
mmmmm... you got my mind going! my next inline class will be Cthulhu_Fhtagn();
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
It doesn't matter what language you're working in, hell is other peoples code. While it's definitely easier to create a mostly working horror in VB than C/++, the latter languages have far greater scope to create a true codethulu.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
dan neely wrote:
It doesn't matter what language you're working in, hell is other peoples code.
Well put. However, not all other people's code is hell. Only the poorly maintained ones where there is some odd/offbeat coding standard involved.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
-
dan neely wrote:
codethulu
Brilliant! You should trademark that *immediately*. And register codethulu.net ... :)
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
I can hardly claim originality on the line. :doh: That said, I lost the free webspace I'd been bumming of a friends server a month or two ago, and never got past WTF to register as a domain. I'd probably never use the site for anything except a filedump.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
-
leonej_dt wrote:
But I need 6 months of job experience to graduate.
Well, I would say hold out 6 months if that is all it takes. I know it is suffering. My first job was RPG-II and COBOL, I spent 4 years in it with accounting before I jumped ship. Trust me, if I can survive 4 years of RPG-II, you can survive 1/2 year of VB. Don't let your C/C++ slide, do something now and then to keep it fresh such that when you escape VB you can still program C/C++ as well as when you started doing VB work. :) and if you are completely insane like me, you will end up developing a spreadsheet program , a 4G language to language x converter, and a 4D chess game in the language you hate. There are just days I needed to do something other than accounting or I would have gone [more] completely mad! ;P
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
El Corazon wrote:
4D chess game
How do any of the pieces find each other? That's 4096 spaces, or do you start with 1024 pieces?
I can imagine the sinking feeling one would have after ordering my book, only to find a laughably ridiculous theory with demented logic once the book arrives - Mark McCutcheon
-
No, it's the hallmark of a BAD VB PROGRAMMER. I keep reminding people, you can write crap in any language. I have seen it done.
I've never understood the animosity towards VB. It gets the job done faster than most languages. If a bad programmer writes VB code, you have an unmaintainable horror. If a bad programmer writes C/C++ code, you get memory leaks and vectors for malicious attacks. Writing C/C++ code for standard business applications, in my book, is akin to common users having admin rights. C/C++ has its place, but the vulnerabilities caused from making mistakes or cutting corners far outweigh marginal performance gains.
-
No, it's the hallmark of a BAD VB PROGRAMMER. I keep reminding people, you can write crap in any language. I have seen it done.
Ray Cassick wrote:
No, it's the hallmark of a BAD VB PROGRAMMER. I keep reminding people, you can write crap in any language. I have seen it done.
Certainly, and in VB much more so than in VB.NET and yes, it can be done in any language, however, its much harder to do so. Well, C-based languages anyways.
Don't forget to vote if the response was helpful
Sig history "dad" Ishmail-Samuel Mustafa "There's no point questioning the actions of a c0ck-juggling thunderc*nt" From the book of testy commentary by martin_hughes Unix is a Four Letter Word, and Vi is a Two Letter Abbreviation