In love with C#
-
At the risk of accusing you of never having decompiled anything, they don't do the same thing. VB's is more flexible, but functionally they serve different purposes, even if they can accomplish the same thing. Also, VB is dangerous. Two in 10 VB devs I've met are aware of option strict and out of those at least one advises against using it.
-
In many respects c# can be considered to be proprietary 'Microsoft Java'. As Java is a respectable language, the same can be said about c#, but as Java's roots are in c, there are still some hang-ups from that far-off time. The one I really hate is the switch statement. vb's select case statement is much better. Whoever heard of jump statements? Yuk! Nowadays we all believe in goto-free programming. The one thing I miss in all these modern languages is Algol 60's wonderful feature of being able to define arrays with ranges of indices from, say, -n to +n. This can be useful in all kinds of situations.
-
I've never used it, but it's actually called MonoDevelop. Based on the screenshots, it looks pretty similar to Visual Studio. The downloads page shows you the prerequisites you need. You might want to just install it and give it a try. That being said, Mono does have some limitations. For example, it does not implement WPF (there is Moonlight, which is a port of Silverlight, though I am unsure of if it works for Mac OS X).
-
Ridiculous C# still has no virtual static methods. Even .NET has no such capability, what's suxx. C# cannot return multiple values from method. C# has very limited metaprogramming, it's a trend of the next decade. C#'s interfaces cannot be partly implemented inside themselves, even if method access no any fields. C# has no slices, killer feature of the D language. C# has no 'with' operator which reduces insignificant code. C# has ugly type cast syntax, which you have to use everywhere. In C# function cannot be overriden unless it's marked as virtual. LINQ syntax is also ugly. 'Switch' operator is the same primitive like you write on C in 70th! Seems, MS monkeys are happy with it. This list is a way far from completion, so sometime I think to leave this ridiculous student homework like ".NET" and use something more modern like 'D'.
-
The designers of C# have irritated me in a number of ways: 1. I don't like the fact that they eliminated drop-through on case statements. It is irritating to have to code work-arounds for situations where one or more case statements can execute the same code. 2. The fact that they did not provide the ability to create static libraries that could be included at compile time and thus eliminate the need for having to ship umpteen dlls with your code. 3. This is more about .NET rather than C#, but I think it applies: With every version of .NET they take something away. In .Net V4 they removed the ability to catch memory exceptions...!!!##@^! 4. This is more about .NET rather than C#, but I think it applies: LINQ is not part of the framework! It is a binary lump that you can't step through in the debugger. Stop pretending it is part of the framework and part of C#
1. Methods anyone? 2. System.CodeDom.Compiler, System.Reflection.Assembly, etc 3. Maybe, but what can you really do with that in a managed language? If you're out of memory, you're out of memory. 4. Don't debug the framework, it defeats the purpose. Assume the framework works, report bugs you find, work around ones they don't fix. If you *really* need to debug it, decompile, proxy, rinse, repeat.
-
I have used Basic and Visual Basic, since Basic , VB6 and .net. The best of VB is that uses English words, and C#, and when developing for Desktop is easier and faster than c#, I'm developing in C# but just 'cause is a requisite here, 'cause a lot of programmers learns Jave in MExican schools. I have used more than 500 lines of code than in VB. And intellisense support is better in VB. But finally the 2 languages can make the same, they are compiled in CLR.
-
C# is OK as a language but the build env is really crap. MS haven't thought this one out at all. It is painful to maintain, painful to use and painful to deploy. When you work on a multiproject solution, it copies the DLLs from one project to another. If there are 50 projects, you could get 50 copies of the same DLL! Somewhere along the line, they get out of sync and you can't get the system back in sync without deleting every single bin and obj directory in the solution. You need to modify some flags to stop the DLLs copying all over the place and remind all developers that they need to do this to all new projects otherwise the mess starts all over again. If you work on libraries and have to support multiple compilers, it gets even worse. You can put the libraries in specific places but not the objects. So when you shift from say VS8 to VS9, VS9 looks at the objects, thinks they are up to date and doesn't bother building them, then says that the link failed. You actually need to modify the csproj file to get around this. Why do reference libraries in C# have to be on absolute paths. Person A sets up the development env on P:\Sally\Medical\Projects and checks in the code. If you don't have exactly the same file structure, you are completely stuffed: nothing builds! You can get around it with subst but that is another story. Person B sets up the development env on C: drive. If you aren't an administrator, you don't have access to the C: drive so you're completely stuffed too. Why do so many programmers think everyone is an administrator? Build a C# program - comes to 76K - wow that is really tiny. Try installing it on XP. It falls over - yes, you've guessed it, you need 20 to 30Mb of .net framework otherwise nothing works. Deployment using external DLLs is a real pain in C#. The bin directory contains all the C# DLLs but not any of the external DLLs that they use. When you deliver a system, you won't know what DLLs are missing until you call specific functions. By then you may be on a client site with no access to you dev env. Most C# programmers (even so called experienced ones) haven't experienced these pains so they don't know what it is like to really work with C#.
-
At the risk of accusing you of never having decompiled anything, they don't do the same thing. VB's is more flexible, but functionally they serve different purposes, even if they can accomplish the same thing. Also, VB is dangerous. Two in 10 VB devs I've met are aware of option strict and out of those at least one advises against using it.
I have done a lot of VB programming, and I think that using keywords instead of brackets is a better idea since it is easier to understand where blocks end. I beleive that C is too terse, but it is the language I program in, and there are some keywords in VB I don't like, but that could be because of lack of familiarity since I have not programmed in versions of VB after 6.0
-
I've just starting doing some projects with C#. I've done some stuff previously but those were some casual utilities. I've just stepping into some real dotnet stuff. C# :Wow.. what a cool thing on earth. I'm liking it so much I might start talking in C#. The love for C++ isn't fading but C# is pure glamour. I'm yet to dive deep into the lang, but even at these depths, it's so much nicer than my experiences with other languages. C# is one of the best creations of MS! :rose: :love: :rose:
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
I absolutely love C# and am not afraid to say it publicly. There are some Microsoft haters at my job (Apple fanboys) but I feel that at least in the development space, Microsoft is far ahead of many others. I think C# is 10x better than Java in many ways. I love its functional style (lambas, etc) and I think that LINQ is one of the greatest inventions in programming today. Also, the CLR is great and makes it so easy to use different languages in one application. For instance, using F# for the back end of a desktop app and C# for the front end works just fine. C# is definitely my favorite language. Also, no IDE can touch Visual Studio, I just wish it didn't cost so much.
-
Enjoy your journey :thumbsup: I started on C# just over five years ago and have never looked back since - it is the most elegant programming language I have used so far.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
C# definitely is a very elegant language. Atl east if you compare it with similar languages like Java or C++ or something similar. But if you extend your bounds then I would suggest you to give a try on Ruby as well. I have been using C# from beta 1 of .net and I recently started using Ruby. And I am loving this language.
Tiklu
-
C# definitely is a very elegant language. Atl east if you compare it with similar languages like Java or C++ or something similar. But if you extend your bounds then I would suggest you to give a try on Ruby as well. I have been using C# from beta 1 of .net and I recently started using Ruby. And I am loving this language.
Tiklu
c# and java are !Compareable with ruby, and the master of interpreted languages is PYTHON
-
I've just starting doing some projects with C#. I've done some stuff previously but those were some casual utilities. I've just stepping into some real dotnet stuff. C# :Wow.. what a cool thing on earth. I'm liking it so much I might start talking in C#. The love for C++ isn't fading but C# is pure glamour. I'm yet to dive deep into the lang, but even at these depths, it's so much nicer than my experiences with other languages. C# is one of the best creations of MS! :rose: :love: :rose:
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
Have a look at Scala.
-
In many respects c# can be considered to be proprietary 'Microsoft Java'. As Java is a respectable language, the same can be said about c#, but as Java's roots are in c, there are still some hang-ups from that far-off time. The one I really hate is the switch statement. vb's select case statement is much better. Whoever heard of jump statements? Yuk! Nowadays we all believe in goto-free programming. The one thing I miss in all these modern languages is Algol 60's wonderful feature of being able to define arrays with ranges of indices from, say, -n to +n. This can be useful in all kinds of situations.
No one will go for a language to upgrade themselves which is syntactically alien to the recent language you've learnt or more different from the competitive language. After for you its all about easy learning and for people like Microsoft and others it all about business and making money...