In love with C#
-
I have an iMac as well and from what I read, MS's Office for Mac is a very good product. Now, if only MS could port VS to run on iMac as well then I'm sure it would be superior to Apple's Xcode and Objective-C. If only they could put VS/C# on the Mac... Until then, if ever. :((
"I do not have to forgive my enemies, I have had them all shot." — Ramón Maria Narváez (1800-68).
Oh I can just see how excited Apple would be once everybody starts using the Microsoft Framework for apps that run on Apple. The look and feel would be Microsoft and not Apple, and Apple would have to make thier own OS UI compatible. Then there would be less reason to pay the permium for Apple computers. Only advantage would be the sexy hardware designs.
-
Have you used it yourself? I'd be very interested in reading about any hands-on experience with it. I know I could look for reviews elsewhere but you get a different perspective from someone who works at the coalface, so to speak.
"I do not have to forgive my enemies, I have had them all shot." — Ramón Maria Narváez (1800-68).
I have used MonoDevelop a bit to Unity scripts in C#. I prefer it to XCode and Objective-C any day of the week. I can't really compare it with VS since 90% of what I do in VS is native C++ and the 10% of C# I do has to interface with the native C++ so there is always that hassle. Plus, what little I've done in Mono has been small programs which are always more fun and elegant than the big legacy monsters I deal with in VS / C++. What I can say is that Mono is simple and intuitive and seems to just work.
-
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.
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#.
-
I'll never regret changing our default language from VB to C#! Love the syntax. Minor grudge: When looking at a pile of '}' having to add an 'else' it's difficult to navigate to the right one. Really hate: It's Case Sensitive! Which might be usefull for computer generated code, but makes no sense at all when man made. However, todays IDE's compensate retty well for that evil...
Put your cursor on the }, press ctrl ] and it will take you to the matching one.
-
C# is not perfect, and the framework is not perfect, but I think that the teams that work on both Visual Studio and the languages, in particular the C# team do an excellent job. There are still areas that I think should have been improved in C# a long time ago, some of which are in Visual Basic. 1) In VB you can embed XML. 2) The case statement can be much more powerful. It is something that should be used sparingly, but that said, if it is used sparingly, then it should be reasonable to extend its capability. 3) Should be able to tag properties as Dependency Properties, and not have to do a full implementation unless you need to do something special. So on and so on.
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.
-
Oh I can just see how excited Apple would be once everybody starts using the Microsoft Framework for apps that run on Apple. The look and feel would be Microsoft and not Apple, and Apple would have to make thier own OS UI compatible. Then there would be less reason to pay the permium for Apple computers. Only advantage would be the sexy hardware designs.
-
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.
-
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...