A rant
-
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
-
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
think classical plus temporal, movement is through time except for the king. :)
_________________________ 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."
-
think classical plus temporal, movement is through time except for the king. :)
_________________________ 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."
What? Is that only into the future, but open to infinity in one direction, so you can "disappear" off the board for a number of moves and re-appear at a later time at a specific position? Do the same move limits apply to the pieces, so rooks disappear and reappear at the same square and bishops show up a distance away equal to the number of squares they were away for?
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
-
What? Is that only into the future, but open to infinity in one direction, so you can "disappear" off the board for a number of moves and re-appear at a later time at a specific position? Do the same move limits apply to the pieces, so rooks disappear and reappear at the same square and bishops show up a distance away equal to the number of squares they were away for?
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
classical movement still applies, however temporal movement I'd forward up to the piece value. thus the queen has far more movement than pawns.
_________________________ 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."
-
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.
The day i get to work on code written by any other sort has yet to occur. But yes, there's plenty of awful code in other languages; it just tends to be awful in other ways.
----
You're right. These facts that you've laid out totally contradict the wild ramblings that I pulled off the back of cornflakes packets.
-
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.
That was what I hated in Microsoft's eMbedded Visual Basic for the CE devices -- everything was a Variant. You could declare everything as string, int, etc. but behind the scenes they were all Variant types. The language was basically VBScript with forms. Sometimes I did some useful things with it though. There's no API in eVB for working with .ini files (no API in CE that I'm aware of for that matter), so I created a simple system that read the application settings into a Variant array to mimic structures. Worked pretty well. :) I would like to think I wrote some pretty decent code in VB/eVB. But I've learned so much since then, that I don't like working in it as much. Flynn
-
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:
hell is other peoples code
Awesome. Mind if I make that my sig?
Cheers, Vıkram.
"if abusing me makes you a credible then i better give u the chance which didnt get in real" - Adnan Siddiqi.
-
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."
The program I'm maintaining doesn't do anything interesting. It just manages sales, buys, inventory and accounting... *yawn* I miss the computer graphics course I took last semester. Anyways...
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."
By the way, last year, a friend of mine and I worked in a three dimensional Go project. We first thought of how a Calabi-Yau Go would look like, but then I realized that my math sucks.
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.
-
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
There is nothing that a WriteOnly property can do that a method can't. And I'm too used to write code like...
// start and end are both pointers start = end = NULL;
... that the idea of a variable that I can write but can't read is TOTALLY weird. Besides,WriteOnly
properties were only called ONCE for each object, strangely enough, always before doing the first useful thing with it. Code looked like this...' GAAAH... VB.NET Dim JustQuiteLongVariableName As New UndocumentedClass JustQuiteLongVariableName.Parameter1 = A JustQuiteLongVariableName.Parameter2 = B + "C" JustQuiteLongVariableName.Parameter3 = "D" JustQuiteLongVariableName.DoSomethingUseful() JustQuiteLongVariableName.DoSomethingElsePerhapsItWillBeUseful() JustQuiteLongVariableName.Dispose()
... when it could have been...With New UndocumentedClass(A, B + "C", "D") .DoSomethingUseful() If .EnsureNextThingIsUseful() Then .DoNextThing() .Dispose() End With
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.
-
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
And, by the way, I do understand friend modifiers. But it makes more sense to use friends the C++ way, not the .NET way.
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.
-
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.
I wonder... Most of the same problems could be created by a C# programmer as well.
var this_is_a_very_long_variable_name_damn_it;
OK, casting may be a little different. ;)public string SecretPassword { private get; set; }
// NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
:D It often seems to me that CPians are bashing VB developers just because it's VB. It's the same kind of hatred that many people have towards Microsoft, because it's, well... Microsoft. -
I wonder... Most of the same problems could be created by a C# programmer as well.
var this_is_a_very_long_variable_name_damn_it;
OK, casting may be a little different. ;)public string SecretPassword { private get; set; }
// NO SE EXACTAMENTE COMO FUNCIONA ESTO, REVISALO BIEN
:D It often seems to me that CPians are bashing VB developers just because it's VB. It's the same kind of hatred that many people have towards Microsoft, because it's, well... Microsoft.Pawel Krakowiak wrote:
Most of the same problems could be created by a C# programmer as well.
Yes, that's true. However, the average C# programmer will create less problems than the average VB.NET programmer. And, geeeh, I'm not even saying anything about real VB (versions 1 to 6) developers.
Pawel Krakowiak wrote:
var this_is_a_very_long_variable_name_damn_it;
That is not C#, but JavaScript. I hate all scripting languages... well, almost all, I actually like Python (but not as much as I do like C++).
Pawel Krakowiak wrote:
It often seems to me that CPians are bashing VB developers just because it's VB.
No. What I hate is late binding. If I didn't have to type
Option Strict
to enforceDirectCast
s, I would actually like VB.NET. And if it had anUnsafe
directive, I would like it even more. By the way, are you Polish? I'm trying to learn Polish, but I don't find any sources to learn from.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.
-
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
If you want to provide a class with some data, you pass that data in through a constructor or method parameter. By using a write only property you fuzzy the usage of the class. Assuming you want to provide a nice clean api for your class, you would keep it so that data was passed into the class as it is required. By allowing that data to be passed in whenever the caller feels like it, you reduce the strictness of the classes contract. It's not so much that a write only property is itself bad, it's just that there is no sensible reason to use a write only property instead of a method parameter. Regarding the example with the password - Remember that 'private' is only a construct of the language, it is not a feature of the CLR, or a security measure. a write only property will not stop a malicious user from reading the property out of the class with reflection, so this is not a good example of a use for write only properties Maybe I'm wrong, maybe there is a sensible and good use for a write only property. I'm happy to consider any suggestions you have. I just I can't think of any, and my instinctive reaction is that it's use will only cause disjointed code. [Edit: I suppose, like any construct (e.g. Goto) even if it's considered bad in 99% of cases, there probably are one or two situations where it makes for cleaner code]
Simon
modified on Friday, September 19, 2008 3:59 AM
-
Pawel Krakowiak wrote:
Most of the same problems could be created by a C# programmer as well.
Yes, that's true. However, the average C# programmer will create less problems than the average VB.NET programmer. And, geeeh, I'm not even saying anything about real VB (versions 1 to 6) developers.
Pawel Krakowiak wrote:
var this_is_a_very_long_variable_name_damn_it;
That is not C#, but JavaScript. I hate all scripting languages... well, almost all, I actually like Python (but not as much as I do like C++).
Pawel Krakowiak wrote:
It often seems to me that CPians are bashing VB developers just because it's VB.
No. What I hate is late binding. If I didn't have to type
Option Strict
to enforceDirectCast
s, I would actually like VB.NET. And if it had anUnsafe
directive, I would like it even more. By the way, are you Polish? I'm trying to learn Polish, but I don't find any sources to learn from.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:
That is not C#, but JavaScript.
It is C#[^]. Though in C# it's still a strongly typed variable, but from the code readability perspective it looks much like Visual Basic's Dim. I use implicitly typed variables with LINQ.
leonej_dt wrote:
By the way, are you Polish?
Yes.
leonej_dt wrote:
I'm trying to learn Polish, but I don't find any sources to learn from
I doubt I could be of much help, I was taught by parents / people around and at school. :P
-
leonej_dt wrote:
That is not C#, but JavaScript.
It is C#[^]. Though in C# it's still a strongly typed variable, but from the code readability perspective it looks much like Visual Basic's Dim. I use implicitly typed variables with LINQ.
leonej_dt wrote:
By the way, are you Polish?
Yes.
leonej_dt wrote:
I'm trying to learn Polish, but I don't find any sources to learn from
I doubt I could be of much help, I was taught by parents / people around and at school. :P
Pawel Krakowiak wrote:
It is C#[^].
Sorry, excuse me for my ignorance. I have VS2k5 at home.
Pawel Krakowiak wrote:
Though in C# it's still a strongly typed variable
Then why not state explicitly its type? What do language designers have in their minds?
Pawel Krakowiak wrote:
but from the code readability perspective it looks much like Visual Basic's Dim.
To me, code readability means being as semantically expressive as possible.
Pawel Krakowiak wrote:
I use implicitly typed variables with LINQ.
I will stick to TableAdapters.
Pawel Krakowiak wrote:
I doubt I could be of much help, I was taught by parents / people around and at school. :P
Nevermind. Thanks, anyways.
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.
-
Pawel Krakowiak wrote:
It is C#[^].
Sorry, excuse me for my ignorance. I have VS2k5 at home.
Pawel Krakowiak wrote:
Though in C# it's still a strongly typed variable
Then why not state explicitly its type? What do language designers have in their minds?
Pawel Krakowiak wrote:
but from the code readability perspective it looks much like Visual Basic's Dim.
To me, code readability means being as semantically expressive as possible.
Pawel Krakowiak wrote:
I use implicitly typed variables with LINQ.
I will stick to TableAdapters.
Pawel Krakowiak wrote:
I doubt I could be of much help, I was taught by parents / people around and at school. :P
Nevermind. Thanks, anyways.
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 will stick to TableAdapters.
I despise DataSets and everything related, I just rewrote whole data access code in one of my projects from DataSets/TableAdapters to LINQ to SQL this week. :P Now I have less lines of code, easier maintenance of the schema, got rid of several stored procedures but still don't have SQL spaghetti in my code, can change connection strings on the fly (this was very very annoying with typed DataSets). In overall I think that C# 3.0 is a major improvement and it rocks. I try to upgrade all projects whenever I get a chance to benefit from lambda expressions and extension methods. I love the language. :rolleyes: By the way - where does your interest in the Polish language come from?