C# - just making an observation
-
Ugh. Is it really that good? I've fiddlyfarted with it here and there, but I've never done any serious work in it. I've been a C++ guy since the 80s (with lots of everything in the interim.) Maybe it's time to suck it up and take a serious bite out of it.
I'm on this same boat... I've been C/C++ for so long it's hard to see too much justification of why to change something that's worked so well for so long. I have however, heard good things about C#... and it'll be even more interesting once MS makes their .NET framework open source and it spreads to other platforms more easily. As a side note, I've also recently started working in Python and can definitely see why people like it. Can easily be made as fast as C++ and easy to work with like Matlab scripts.
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
In violent agreement! :thumbsup: (Although I must confess I'm ignorant about F#.) /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
I'm on this same boat... I've been C/C++ for so long it's hard to see too much justification of why to change something that's worked so well for so long. I have however, heard good things about C#... and it'll be even more interesting once MS makes their .NET framework open source and it spreads to other platforms more easily. As a side note, I've also recently started working in Python and can definitely see why people like it. Can easily be made as fast as C++ and easy to work with like Matlab scripts.
Python's a slick little language. I use perl day to day. It's tough to justify C++ for these quick hit scripts I've fallen in to writing. God how I miss real programming.
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
To each their own. I frankly never liked C# - feels like VB sprinkled with semicolons and curly braces X|
-
Python's a slick little language. I use perl day to day. It's tough to justify C++ for these quick hit scripts I've fallen in to writing. God how I miss real programming.
mikepwilson wrote:
I use perl day to day. It's tough to justify C++ for these quick hit scripts I've fallen in to writing.
In my last job I used perl for quick scripts too. It worked out well...
-
I'm on this same boat... I've been C/C++ for so long it's hard to see too much justification of why to change something that's worked so well for so long. I have however, heard good things about C#... and it'll be even more interesting once MS makes their .NET framework open source and it spreads to other platforms more easily. As a side note, I've also recently started working in Python and can definitely see why people like it. Can easily be made as fast as C++ and easy to work with like Matlab scripts.
Albert Holguin wrote:
Python and can definitely see why people like it. Can easily be made as fast as C++ and easy to work with like Matlab scripts.
I use Python a lot these days and generally like it, but it is really impossible to make it even remotely as fast as C++. Even Java code is blazingly fast compared to Python.
-
Albert Holguin wrote:
Python and can definitely see why people like it. Can easily be made as fast as C++ and easy to work with like Matlab scripts.
I use Python a lot these days and generally like it, but it is really impossible to make it even remotely as fast as C++. Even Java code is blazingly fast compared to Python.
Nemanja Trifunovic wrote:
but it is really impossible to make it even remotely as fast as C++
What!? ...are you kidding? ...it's easy to make it that fast ...we use it on real-time systems.
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Marc Clifton wrote:
frankly, C# is the most elegant and well crafted language I've ever worked with
Yes, it is. Even though I still miss a QUICK compiler like Delphi had (and sometimes a linker), and aw, the joy of compiling your own VCL. Being able to allocate and deallocate by hand also seemed to be better than having the memory fill up until some lowpriority thread halts your app and starts cleaning up - even though NET4 does a good job at it, I'd rather still be doing it myself.
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
-
To each their own. I frankly never liked C# - feels like VB sprinkled with semicolons and curly braces X|
I thought that way for a while too, until I had to use it. I wouldn't use it for apps that require heavy computation, but for business apps its nice and much much better than VB.
Jeremy Falcon
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
:thumbsup: I started in BASIC back in the 80's, and made my way through C, Perl, Java, and some dabbling in TCL and Python... But I haven't found anything better than C#. Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere. The others I've tried all feel clumsy and weak. Well, I mean, Unity is several kinds of awesome, but that's a little different. Now if only they would switch Excel's scripting interface from VBA to .NET, I could stop hating MS Office too.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels) -
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Most agree C# is good but times are changing again. First it comes with the overhead of the framework, undeterministic memory management with garbage collectors. Devices are getting smaller and competition on the server side is cutting into profits. Simply put in terms of performance per $ it cannot win on the server side and as mobile app with C++. We are slowly moving to true massive parallelism using GPU computing and it is doable with managed code going through some extra steps to bridge native and managed but why doing it? Modern languages tend to be more verbose. C++ code is terse, impressively logic and amazingly modern and relevant despite old age. C# facilities are nothing more than iteration of STL or Boost. The only advantage is UI but with Web front this is no longer main consideration in choosing the language. C# is evolving and there is nothing wrong with it (I am using .Net extensively) but looking forward, surprisingly, for many applications C# may not be the best choice.
-
:thumbsup: I started in BASIC back in the 80's, and made my way through C, Perl, Java, and some dabbling in TCL and Python... But I haven't found anything better than C#. Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere. The others I've tried all feel clumsy and weak. Well, I mean, Unity is several kinds of awesome, but that's a little different. Now if only they would switch Excel's scripting interface from VBA to .NET, I could stop hating MS Office too.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)Ian Shlasko wrote:
Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere.
:thumbsup: And I'm not an MS fanboy at all, but I recognize a good piece of software when I see it.
Jeremy Falcon
-
Ian Shlasko wrote:
Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere.
:thumbsup: And I'm not an MS fanboy at all, but I recognize a good piece of software when I see it.
Jeremy Falcon
Jeremy Falcon wrote:
And I'm not an MS fanboy at all, but I recognize a good piece of software when I see it.
Exactly... I generally dislike uSoft, but Visual Studio is just a work of art... And honestly, so is Excel, as long as people use it as a spreadsheet/calculator and not an application platform...
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels) -
:thumbsup: I started in BASIC back in the 80's, and made my way through C, Perl, Java, and some dabbling in TCL and Python... But I haven't found anything better than C#. Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere. The others I've tried all feel clumsy and weak. Well, I mean, Unity is several kinds of awesome, but that's a little different. Now if only they would switch Excel's scripting interface from VBA to .NET, I could stop hating MS Office too.
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)Ian Shlasko wrote:
Granted, Visual Studio has something to do with that... Haven't found a better IDE anywhere.
I will have to agree with that... I'm currently using Eclipse and it pisses me off on a regular basis.
Ian Shlasko wrote:
Unity is several kinds of awesome
As in Ubuntu's Unity? ...there has never been a slower interface ever developed for Linux! I actually stopped using Ubuntu because of Unity, now I use Mint (grant it, it's still based on Ubuntu but with a better interface).
-
Nemanja Trifunovic wrote:
but it is really impossible to make it even remotely as fast as C++
What!? ...are you kidding? ...it's easy to make it that fast ...we use it on real-time systems.
Python? It is the slowest language I've ever worked with. And the benchmarks agree[^]: Python is up to 100 times slower than C++ and consumes up to four times more memory.
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
Until VS2008 (more I don't know) I found a flaw that I hate: it is impossible to separate definition and implementation in separate files. Also, it is slow to compile, it uses that crappy .NET framework with the crappier documentation and it is slow to compute unless you fill it up with unsafe. I AM biased because I really need low-level functionalities, the only time I ued C# was to create a VS add-in to view areas of memory as 8 or 16 bit images and apply some algorithms and infinite zoom (with no blurring, must be exactly a pixel per pixel representation). The areas of memory come directly from the VS debugger on a running process, and it has to understand variable names, pointers, raw addresses and some internal data structures. With C# it is painfully slow, where the older counterpart of this add-in, developed in VB6, is fast as a Thunder (btw Thunder WAS the codename of VB6 :D). It has some good points, i like the UI designer and its way of managing events, but stil... I will hate the day we switch off VB6 and turn to C#.
-
mikepwilson wrote:
I use perl day to day. It's tough to justify C++ for these quick hit scripts I've fallen in to writing.
In my last job I used perl for quick scripts too. It worked out well...
I love it. It's the right tool for a great many jobs. The fact that I can just develop and deploy as fast as I can is a godsend.
-
Not to start a flame war, I am simply relating my recent personal experience... So, over the last couple of years, I've forayed into Ruby, PHP, very recently Java, and this coming from a background of C, C++, Pascal, Fortran, even some COBOL, and of course assembly language and some things I don't or don't want to remember (BASIC, LISP and Forth come to mind.) In terms of "modern" programming languages, and especially after my recent foray in Java (granted, version 7, so I'm not able to take advantage of lambdas) I have come to the conclusion that, frankly, C# is the most elegant and well crafted language I've ever worked with. Yeah, I remember the C# 1.0 days when I was cursing the lack of templates/generics and the idiocy of single inheritance, but no more. I find that code that I write in C# can be elegant, well crafted, expressive, and just a pleasure to write. I don't have that experience with other languages, except perhaps for F#, once I get into the rhythm of FP. Marc
Imperative to Functional Programming Succinctly Higher Order Programming
I concur. I started on Assembler and FORTRAN, added Pascal, PL/1 and COBOL then on to C and C++ with a side order of umpteen variants of BASIC along with Rexx and some other scripting languages. I moved to C# when it was version 1.0 and railed against it's limitations while liking it's ease of use. With 3.0 it finally started being really useful. Like Griffy-babe says, it's become easier to abuse it with var, etc. - but I don't, and my team doesn't - we are like-minded, thank goodness - so most of the time, everything is peachy! C# - an exercise in trying to design the ideal multipurpose language that [almost] works perfectly. Well done Microsoft! ...in this particular instance.
- I would love to change the world, but they won’t give me the source code.
-
Jeremy Falcon wrote:
And I'm not an MS fanboy at all, but I recognize a good piece of software when I see it.
Exactly... I generally dislike uSoft, but Visual Studio is just a work of art... And honestly, so is Excel, as long as people use it as a spreadsheet/calculator and not an application platform...
Proud to have finally moved to the A-Ark. Which one are you in?
Author of the Guardians Saga (Sci-Fi/Fantasy novels)Definitely - Excel is a superb piece of work. It's little touches, like CTRL+; inserts today's date that tells you is was designed by people who actually throw numbers around on a regular basis. Mind you, that comes with a price: I have seen some total abortions done in Excel formulas (not even VBA). One guy I used to work for ran his entire stock control, estimating and build list production from a massive Excel spreadsheet. Damn thing took 15 minutes to load in the morning, and data entry was painful. Worked though...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
-
Marc Clifton wrote:
frankly, C# is the most elegant and well crafted language I've ever worked with
Yes, it is. Even though I still miss a QUICK compiler like Delphi had (and sometimes a linker), and aw, the joy of compiling your own VCL. Being able to allocate and deallocate by hand also seemed to be better than having the memory fill up until some lowpriority thread halts your app and starts cleaning up - even though NET4 does a good job at it, I'd rather still be doing it myself.
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]
I agree - but it does mean it's a lot harder to get leaky programs. Not impossible, but a lot harder. You remember what it was like before C# - morons not releasing memory until the whole PC judders to a halt... X|
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...