My only advice would be to stop telling people you're "uniquely bright." It doesn't go over well. That kind of thinking is something you just keep to yourself...instead, demonstrate your intelligence through action. If you're interested in programming, I'd suggest picking a pet project and getting your hack on.
Logo is nowhere near childish...you can do some really complex work with it. Gentle but deep learning curve, and a cute turtle. It's great for kids and computerphobic adults. It still has one of the most intuitive implementations of recursion I've seen.
Never use a shoulder bag for your laptop...use a backpack that looks ordinary, yet has good inner pockets for the hardware. I keep my mp3 player in a pocket, and the only thing that's ever visible is two tiny in-ear headphones.
I'm not a physicist, but it's pretty damn obvious that the sun circles the earth. I mean, it comes up on one side and it goes around and it disappears on the other side. What further proof could we need?
While I hate.NET, I need to point out a couple things. First, you really should be catching the exception in standard C++ as well. Second, the reason you're having to explicitly call Close() is that you have no guarantee on when the object will get GC'd, and you'd like to release the resource as soon as possible. In STL code, you'd likely be calling a close() too as soon as you're done with the file, unless the variable's about to scope out. So, honestly, the difference in lines of code would be insignificant once you code the "standard" C++ version properly.
I made some clear, specific points that start to explain what's wrong about the new "features" in C#. My comment about "hacked in five minutes" defines the impression kludges like "struct is value, class is reference" give me.
Feel free to follow up, but please try and address at least ONE of my arguments instead of wasting my time with another fanboy post.
What if you want to make both value and reference objects of the same class?
Value/Reference is a class-based distinction. It has nothing to do with instance, and I can't say I've ever had a real world problem with this. Can you?
Or treat the same object as value or reference as needed?
Real world example?
Easy. Value types allow you to transparently create copies of data, essentially letting you deal with immutable objects without the added complexity of calling a clone() operation every time you need a new copy to work with. This has nothing to do with class characteristics, and everything to do with the particular code you're using.
the System.Array.Initialize() function will only initialize value arrays, not reference arrays
Of course. C++ is no different. Remember how in C++ you have to write "delete [] x" instead of "delete x"? Simply because you have to communicate to the compiler that it must call the destructor on each array member... but the constructor is much more difficult. What if the array element type has no default constructor?
If it has no default constructor, then you make it an error for value types (duh) and a nop on reference types. Alternatively, you could make it an error on both. If there's no default constructor, you don't call Initialize(). Your comparison to C++ loses, because 1) we're not discussing C++, and 2) we're not discussing "telling" the compiler how to do a job, we're discussing how the compiler doesn't do said job no matter how you "tell" it to.
I could go on and on about "features"
And I could equally as well refute your points.
That's great to hear. Start any time you want.
It is ignorant to simply dismiss.NET or C# because it is something you don't know and don't understand. Take the time to learn it... there are valid criticisms, but you haven't found them yet.
I wouldn't go as far as to call you ignorant, but I know for certain it's stupid to dismiss my claim without actually addressing it. If you scroll up and actually read my post and yours, you'll notice that you either didn't read my claims properly, didn't think the matter through properly, or didn't type your reply properly.
Why do I claim this? Well, 1) you don't seem to understand how you can use value and reference types interchangeably in a real world situation, yet you go ahead and talk about it. 2) You try to address my issue with Initialize() by pulling a textbook Chewbacca defense with C++'s delete[] syntax. And 3) you tell me there's "valid criticisms", yet you fail to mention any. All you know is mine don't work, yet you also fail to adequately explain why.
In the end, I have no option but to classify you as a troll until you prove otherwise. I suggest you start doing so by addressing my initial post with clearly thought out answers.
I disagree. After a few months of working with C#, I have come to the conclusion that it's nothing but a bastardized clone of Java that had every little piece of sugar they could snarf from VB and C++ added to it, whether it made sense or not.
For example, the braindamaged distinction between structs and classes as value and reference types respectively. What if you want to make both value and reference objects of the same class? Or treat the same object as value or reference as needed? The stupidity becomes even more apparent when you find out that the System.Array.Initialize() function will only initialize value arrays, not reference arrays (WTF? Is there ANY reason to even have the [,] array creation operator if you still have to construct the members one by one after creation?). I could go on and on about "features" that were clearly hacked on in five minutes to fit some deadline, with little thought or care.
C# does have some nice things that, say, Java lacks. Operator overloading, automatic boxing and unboxing of primitive types, and properties come to mind. The first two, AFAIK, will be in Java soon, and properties are just syntactic sugar to replace observer methods. Honestly, I'm not impressed, and I don't intend to use C# ever again unless I absolutely have to.
This falls under the "I can't believe what I'm hearing" category...Mono is *not* ready as a plug in replacement for.NET, and it won't catch up before MS releases 1.2...for the foreseeable future, it's trailing behind the Windows implementation and is not likely to catch up.
I see PyGTK as a much more reasonable (and WORKING) alternative to C programming for people who want to write Gnome apps. Or GTK--, for that matter. Mono currently has crappy System.Windows.Forms support (even with Gnome#), broken serialization support, the list goes on and on.
Take some courses in art appreciation, then spend your free time reading, seeing good films, and listening to good music. Few things will give your brain the kind of workout a really well written book provides.
If you're looking for specifics, you could start with Hermann Hesse. Siddharta is a good book to start with. If music is more up your alley, steer clear of the crap (fuck Mozart) and go straight to the Romantics...Beethoven or Wagner if you like big, Chopin if you like simple. The nationalist composers are also quite amazing...I recommend Grieg and Dvorak for a start.
I'm not too sure how this isn't 'Rubyx, the Linux distribution with an installer/package manager written in Ruby'. If it had been written in any other language, would it still be cool?
God himself is well known for playing the pipe organ. RMS has (unfortunately) been known to sing (I can't find a link to this gem, it used to be somewhere on Jamie Zawinski's website.) Eric Raymond advises hacker wannabes to master a musical instrument to enrich their personality.
It's old news...hackers like music. Why? Music is a cleverly woven chain of simple notes and chords, and if you do it right it sounds amazing and gives much of the same gratification as programming.
If the description is correct, and light flows "in a circuit", then picking it is trivial as long as you have a key that can route light in a programmatic way.
See, what you have is the number of possible ways to match N fibers with N fibers. It's easy to see that the total number of locks is N!. However, the requisite that light flow in a circuit makes it so you can follow the loop. Figure out which of your switches on side A is getting light, route it to all fibers on side B until one of them makes a different fiber emit light, rinse, repeat. Having some fibers be decoys or having multiple light sources doesn't make this more complex at all (as long as you have a constant number of light sources.) As you can probably figure out, the worst case number of locks is now N + (N-1) +... + 1, which is N * (N - 1) / 2. Not a whole lot of locks, and definitely something a machine can brute-force.
Of course, this brute force approach can be denied by locking the door permanently if too many 'wrong keys' are inserted. A better approach would be to ditch the 'circuit' idea altogether and just use N light sources with random matching.
I didn't have time to thoroughly read the original article, so maybe I'm just stating the obvious.
A good start to help control obesity among teens would be to stop putting candy and soda machines in their schools. Having them sit on their ass for an hour every day playing Mario Kart would *not* help.
Conspiracy theorists would have no problems with this, since electromagnetic radiation has immense problems getting through conductive material. Just make sure you ground your tin foil hat and you're safe!
This, by the way, is why cellphones don't work underground / in tunnels...except in movies.
Overly simplistic. Google for "fuzzy logic" and "open world assumption", this has been the focus of massive research for decades and has honestly not gotten us that far.
Re:Bill Gates, Hall of Fame Hacker? (P.S. First Po
on
Hackers Hall of Fame
·
· Score: 1
Gates is not a hacker, he traded in his keyboard long ago for an empty suit and a few billion. He belongs nowhere near that list.
My only advice would be to stop telling people you're "uniquely bright." It doesn't go over well. That kind of thinking is something you just keep to yourself...instead, demonstrate your intelligence through action. If you're interested in programming, I'd suggest picking a pet project and getting your hack on.
I wonder how long it'll take for non-conductive shaped charges to show up on the market. That would really mess this system up.
Concerns about stability? Security? Dislike of Microsoft's business practices?
d) All of the above.
Logo is nowhere near childish...you can do some really complex work with it. Gentle but deep learning curve, and a cute turtle. It's great for kids and computerphobic adults. It still has one of the most intuitive implementations of recursion I've seen.
Never use a shoulder bag for your laptop...use a backpack that looks ordinary, yet has good inner pockets for the hardware. I keep my mp3 player in a pocket, and the only thing that's ever visible is two tiny in-ear headphones.
So far, it's worked.
00000000? I'll have to change the combination on my luggage!
I'm not a physicist, but it's pretty damn obvious that the sun circles the earth. I mean, it comes up on one side and it goes around and it disappears on the other side. What further proof could we need?
Debian's way ahead of you...they released Potato long ago!
Quick suggestion: don't believe anything you read on April 1st.
I lost my CS CD key a year or so ago. Will I be able to play traditional CS if I buy CS:CZ? Or will the key only work with CS:CZ?
While I hate .NET, I need to point out a couple things. First, you really should be catching the exception in standard C++ as well. Second, the reason you're having to explicitly call Close() is that you have no guarantee on when the object will get GC'd, and you'd like to release the resource as soon as possible. In STL code, you'd likely be calling a close() too as soon as you're done with the file, unless the variable's about to scope out. So, honestly, the difference in lines of code would be insignificant once you code the "standard" C++ version properly.
I made some clear, specific points that start to explain what's wrong about the new "features" in C#. My comment about "hacked in five minutes" defines the impression kludges like "struct is value, class is reference" give me.
Feel free to follow up, but please try and address at least ONE of my arguments instead of wasting my time with another fanboy post.
What if you want to make both value and reference objects of the same class?
.NET or C# because it is something you don't know and don't understand. Take the time to learn it... there are valid criticisms, but you haven't found them yet.
Value/Reference is a class-based distinction. It has nothing to do with instance, and I can't say I've ever had a real world problem with this. Can you?
Or treat the same object as value or reference as needed?
Real world example?
Easy. Value types allow you to transparently create copies of data, essentially letting you deal with immutable objects without the added complexity of calling a clone() operation every time you need a new copy to work with. This has nothing to do with class characteristics, and everything to do with the particular code you're using.
the System.Array.Initialize() function will only initialize value arrays, not reference arrays Of course. C++ is no different. Remember how in C++ you have to write "delete [] x" instead of "delete x"? Simply because you have to communicate to the compiler that it must call the destructor on each array member... but the constructor is much more difficult. What if the array element type has no default constructor?
If it has no default constructor, then you make it an error for value types (duh) and a nop on reference types. Alternatively, you could make it an error on both. If there's no default constructor, you don't call Initialize(). Your comparison to C++ loses, because 1) we're not discussing C++, and 2) we're not discussing "telling" the compiler how to do a job, we're discussing how the compiler doesn't do said job no matter how you "tell" it to.
I could go on and on about "features"
And I could equally as well refute your points.
That's great to hear. Start any time you want.
It is ignorant to simply dismiss
I wouldn't go as far as to call you ignorant, but I know for certain it's stupid to dismiss my claim without actually addressing it. If you scroll up and actually read my post and yours, you'll notice that you either didn't read my claims properly, didn't think the matter through properly, or didn't type your reply properly.
Why do I claim this? Well, 1) you don't seem to understand how you can use value and reference types interchangeably in a real world situation, yet you go ahead and talk about it. 2) You try to address my issue with Initialize() by pulling a textbook Chewbacca defense with C++'s delete[] syntax. And 3) you tell me there's "valid criticisms", yet you fail to mention any. All you know is mine don't work, yet you also fail to adequately explain why.
In the end, I have no option but to classify you as a troll until you prove otherwise. I suggest you start doing so by addressing my initial post with clearly thought out answers.
I disagree. After a few months of working with C#, I have come to the conclusion that it's nothing but a bastardized clone of Java that had every little piece of sugar they could snarf from VB and C++ added to it, whether it made sense or not.
For example, the braindamaged distinction between structs and classes as value and reference types respectively. What if you want to make both value and reference objects of the same class? Or treat the same object as value or reference as needed? The stupidity becomes even more apparent when you find out that the System.Array.Initialize() function will only initialize value arrays, not reference arrays (WTF? Is there ANY reason to even have the [,] array creation operator if you still have to construct the members one by one after creation?). I could go on and on about "features" that were clearly hacked on in five minutes to fit some deadline, with little thought or care.
C# does have some nice things that, say, Java lacks. Operator overloading, automatic boxing and unboxing of primitive types, and properties come to mind. The first two, AFAIK, will be in Java soon, and properties are just syntactic sugar to replace observer methods. Honestly, I'm not impressed, and I don't intend to use C# ever again unless I absolutely have to.
This falls under the "I can't believe what I'm hearing" category...Mono is *not* ready as a plug in replacement for .NET, and it won't catch up before MS releases 1.2...for the foreseeable future, it's trailing behind the Windows implementation and is not likely to catch up.
I see PyGTK as a much more reasonable (and WORKING) alternative to C programming for people who want to write Gnome apps. Or GTK--, for that matter. Mono currently has crappy System.Windows.Forms support (even with Gnome#), broken serialization support, the list goes on and on.
Take some courses in art appreciation, then spend your free time reading, seeing good films, and listening to good music. Few things will give your brain the kind of workout a really well written book provides.
If you're looking for specifics, you could start with Hermann Hesse. Siddharta is a good book to start with. If music is more up your alley, steer clear of the crap (fuck Mozart) and go straight to the Romantics...Beethoven or Wagner if you like big, Chopin if you like simple. The nationalist composers are also quite amazing...I recommend Grieg and Dvorak for a start.
I'm not too sure how this isn't 'Rubyx, the Linux distribution with an installer/package manager written in Ruby'. If it had been written in any other language, would it still be cool?
Something must be wrong with my browser. I mean, it's obvious that there's words in the article but all I see is "Wolf! Wolf! Wolf!"
God himself is well known for playing the pipe organ. RMS has (unfortunately) been known to sing (I can't find a link to this gem, it used to be somewhere on Jamie Zawinski's website.) Eric Raymond advises hacker wannabes to master a musical instrument to enrich their personality.
It's old news...hackers like music. Why? Music is a cleverly woven chain of simple notes and chords, and if you do it right it sounds amazing and gives much of the same gratification as programming.
That said, this guy's pretty damn cool.
Remove keypad, insert new keypad that looks just like it and has a keypress logger. K?
If the description is correct, and light flows "in a circuit", then picking it is trivial as long as you have a key that can route light in a programmatic way.
See, what you have is the number of possible ways to match N fibers with N fibers. It's easy to see that the total number of locks is N!. However, the requisite that light flow in a circuit makes it so you can follow the loop. Figure out which of your switches on side A is getting light, route it to all fibers on side B until one of them makes a different fiber emit light, rinse, repeat. Having some fibers be decoys or having multiple light sources doesn't make this more complex at all (as long as you have a constant number of light sources.) As you can probably figure out, the worst case number of locks is now N + (N-1) + ... + 1, which is N * (N - 1) / 2. Not a whole lot of locks, and definitely something a machine can brute-force.
Of course, this brute force approach can be denied by locking the door permanently if too many 'wrong keys' are inserted. A better approach would be to ditch the 'circuit' idea altogether and just use N light sources with random matching.
I didn't have time to thoroughly read the original article, so maybe I'm just stating the obvious.
A good start to help control obesity among teens would be to stop putting candy and soda machines in their schools. Having them sit on their ass for an hour every day playing Mario Kart would *not* help.
Conspiracy theorists would have no problems with this, since electromagnetic radiation has immense problems getting through conductive material. Just make sure you ground your tin foil hat and you're safe!
This, by the way, is why cellphones don't work underground / in tunnels...except in movies.
Overly simplistic. Google for "fuzzy logic" and "open world assumption", this has been the focus of massive research for decades and has honestly not gotten us that far.
Gates is not a hacker, he traded in his keyboard long ago for an empty suit and a few billion. He belongs nowhere near that list.