|
Paul Conrad wrote: Geeze, we leave it up to the compiler to optimize stuff.
Of course, the less lines you write, the easier it is for the compiler to optimize the code
|
|
|
|
|
At least someone here has a hammer he *really* knows how to use. And obviously he has no trouble to find enough nails for it...
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
In this semester I've got a new subject: "Object-oriented programming".
* We learn how to bypass Visual C++ 6.0 compiler bugs (yes we use it).
* To show good OOP practices, we are told that a Student class should contain a non-static Write method which does not take any arguments. This method should write content of all Student objects from an array (stored as a global variable) to a file with a hard-coded name "student.bz" in a very plain text format.
* All class names must definitely begin with 'C' and structures with 'T'.
* Public members like 'fil' (FileName), 'st' (Student) or 'c' (Count) are perfectly o.k. and there is no need to comment them anywhere.
* Finally, our knowledge is tested by writing a code snippet on a sheet of paper. You missed a semicolon or an #include directive -- sorry you fail.
Sweet.
Greetings - Gajatko
Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.
|
|
|
|
|
What does your post have anything to do with Coding Horrors?
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
Visual C++ 6.0 compiler bugs (yes we use it).
maybe this.
"Love thy neighbor....................
..Whenever your marriage in in trouble"
|
|
|
|
|
Well, using methods like fil and st would constitute a coding horror. I guess this one fits.
|
|
|
|
|
Yes, those would definitely be horrific
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
It's the same with my university. They teach us horrible coding style and rely on our future employers to fix the mess in out heads.
Luckily nobody studies informatics without any coding experience. I don't want to know how such a poor guy would write code later on...
Anyway, you are well off with C++. We had to write Java and Pascal snippets on paper.
_____________________________________________________
This statement is false.
|
|
|
|
|
I wouldn't say writing first-year exams on paper is necessarily a bad thing. It takes away auto-correct, Intellisense, reference material. It takes away the option of trial-and-error coding.
I wrote all my C++ exams except the final one on paper.
As for the rest... get that bloke fired. Please. I don't want to have anyone following a coding style like that to ever come near me.
|
|
|
|
|
DevSolar wrote: It takes away auto-correct, Intellisense, reference material. It takes away the option of trial-and-error coding.
I agree, however in my opinion a paper exam is good for theroetical-ideological questions or block diagrams, not for implementation. Maybe the first one, when we are supposed to be aware of language syntax is ok. But it seems that all my future exams will look like this, as it's the only way to test programming abilites of a ~200 men group (+8 girls). Maybe the next generation of students will finally have a spoj.pl- or topcoder.com-like system. I'd like that.
Greetings - Gajatko
Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.
|
|
|
|
|
I don't agree. I learned most of what i know by reading all the intellisense methods + documentation of objects, and without trial and error noone would ever be a coder. That said, i used C# and read object documentation as a hobby...
-------------------------------
Carrier Bags - 21st Century Tumbleweed.
|
|
|
|
|
And that's why I state that exams should verify a knowledge which cannot be gained from documentation.
"Hey, there is ain't knowledge which wouldn't be in documentation" you say. Huh, then ask a "senior programmist" and he'll give you a 30-min speech on the topic: "Why you should be on my lectures instead of reading damn stupid books not written by me or surfing the Internet.". Well, I think he'll be right in most cases.
Greetings - Gajatko
Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.
|
|
|
|
|
Heh, I do about the same.
Especially since the Microsoft documentation is a bad joke as it doesn't actually contain any more information than the tooltips in VS.
And the vast majority of articles on websites like this one or in books, which aren't about the basics of the basics, rely too much on the context.
If you want to know more about class x, the articles usually don't provide much information on the general usage and behavior but only in the specific context of the example, which barely ever has the slight similarity to do with what you need it for.
Also, the vast majority of all programming exams consist of scribbling on paper.
If not, they usually consist of doing a project and sending in the result.
Paper is okay, at least if the reviewer isn't too strict.
Subtracting too many points for missing semicolons and such is just stupid.
Anyway, the topic really belongs here. Sounds like college/University the creator attends teaches a lot of bad practices.
|
|
|
|
|
gajatko wrote: In this semester I've got a new subject: "Object-oriented programming".
[Bogus misuse of object orientation]
Flee! As fast as you can. You are to be brainwashed.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
Oh com'n we've got sooo much mathematics here. I couldn't just leave it. A lot of unrevealed algebra awaits...
Greetings - Gajatko
Portable.NET is part of DotGNU, a project to build a complete Free Software replacement for .NET - a system that truly belongs to the developers.
|
|
|
|
|
public sealed class ClassName: ClassNameBase<br />
{<br />
<br />
internal ClassName(Type1 param1, Type2 param2) :base( param1, param2)<br />
{<br />
}<br />
}
Whats the beauty of it ?? The class does not have a single static member, and is compiled all by itself to a DLL.
|
|
|
|
|
Well - it does provide a concrete implementation of ClassNameBase, so it would work. OK - perhaps ClassNameBase shouldn't be an abstract class (I'm assuming that it is abstract), but this would work.
|
|
|
|
|
Not sure I see your point. The Class is sealed - therefore it can not be inherited. The constructor is internal and the class is in a DLL, therefore you can't create an instance of the class either.
ClassNameBase has nothing to do with anything at all.
|
|
|
|
|
VentsyV wrote: ClassNameBase has nothing to do with anything at all.
Actually, it does. It's the constructor that has nothing to do with it.
You could create this with:
ClassNameBase myclass = new ClassNameBase();
ClassName concreteImpl = myClass; I'm not sure how useful this would be, but it could be done.
|
|
|
|
|
Pete O'Hanlon wrote: ClassNameBase myclass = new ClassNameBase();ClassName concreteImpl = myClass;
I'm not sure how useful this would be, but it could be done.
Actually it cant be done :p You would need an implicit cast from a base class to it's parent derivation, and the CLR does not permit that.
See my post for the likely explanation why it is sealed with an internal constructor.
|
|
|
|
|
You're right of course. How could I have missed that? A 5 for spotting my stupidity.
|
|
|
|
|
VentsyV wrote: The constructor is internal and the class is in a DLL, therefore you can't create an instance of the class either.
That is correct, but it's likely the library writer wants to expose the instance via a member, but still disallow instantiation. IMO, this shows a very good knowledge of the language/platform being dealt with (unless it really was a mistake!).
|
|
|
|
|
If the class is laid out without any other members (as in the OP) then this wouldn't be it.
|
|
|
|
|
Pete O'Hanlon wrote: If the class is laid out without any other members (as in the OP) then this wouldn't be it.
You missed the '//Stuff' bit?
|
|
|
|
|
Damn - I did . If I'd seen that, I'd have answered the same as you - I guess I have "stuff" blindness (I'd normally put this in as // Do Something here).
|
|
|
|