Page 2 of 2 |
LeoNatan
Banned
Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
|
Posted: Sat, 18th Jun 2011 14:06 Post subject: |
|
 |
I think they pulled the F# thing to win academic support. Once you get people used to VS right from when they are studying, it would be more difficult for them to look at other software. They need to add an official logical programming language to the .NET repertoire (first class language, like F#), and they would have a "representative" from most major development paradigms thought in the academia.
Also, functional programming has its niche place in research, where this product started. It is efficient in its implementation from what benchmarks I've seen.
|
|
Back to top |
|
 |
|
Posted: Mon, 20th Jun 2011 15:54 Post subject: |
|
 |
I doubt .net will ever die. It is a great for RAD and smaller projects. I also like using C# for SQL based applications, as the database integration is pretty easy to do.
Microsoft is just keen to appear "hip". I doubt they will convert the legions of .net developers though.
|
|
Back to top |
|
 |
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 04:05 Post subject: |
|
 |
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 09:21 Post subject: |
|
 |
STL is very slow in some areas, it's a well known fact. You should always implement your own collections if you want an optimized program.
And don't like these kind of artificial benchmarks, they don't show how much faster can C++ actually get when it comes to real world applications when real-world bottlenecks come into play.
For example try writing a small raytracer in C# (shouldn't be more than few hundred lines of code), make it the most optimized you can. And I bet you I can make you one that will run at least 400% faster in C++ (using vectorization and taking care so data is aligned in the cache nicely, neither of which you can do in C#).
C# will never be a match for performance heavy applications like games and renderers. For most other stuff however, it is preferable.
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 09:46 Post subject: |
|
 |
Derp Net proggies take a few seconds to start up, regardless of actual performance.
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 10:08 Post subject: |
|
 |
Yep, and even the simplest applications have relatively big memory overhead due to the framework that needs to be loaded. Although I can't say I ever found this to be a big issue.
|
|
Back to top |
|
 |
LeoNatan
Banned
Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
|
Posted: Tue, 21st Jun 2011 11:08 Post subject: |
|
 |
VGAdeadcafe wrote: | Derp Net proggies take a few seconds to start up, regardless of actual performance. |
Speaking of derpa derps, someone has not head of ngen.
And "a few seconds"? What is this, the 90s with Pentium 3?
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 12:35 Post subject: |
|
 |
Yes if you include every single library in your derp program then .Net progs might need some time to start...
|
|
Back to top |
|
 |
|
|
Back to top |
|
 |
|
Posted: Tue, 21st Jun 2011 16:39 Post subject: |
|
 |
I don't program .NET myself, but I've noticed it on the .NET proggies I run. And it's not about cpu Derpnatan but about hdd access, I'm sure there is some bullshit initialization of the NET framework thingamajing that involves various files.
Not as bad as Java, but still.
|
|
Back to top |
|
 |
spankie
VIP Member
Posts: 2958
Location: Belgium
|
Posted: Mon, 22nd Aug 2011 16:26 Post subject: |
|
 |
Ah boys, coding is all about legacy.
The first thing i ever learned was perl / cgi and some php. Some bit later i got disgusted by asp vb.net so i threw that in the garbage bin forever.
A bit later i decided to learn C/++ and took evening school to learn it very quickly. I know the syntax know etc, and I can make my progs, but I always revert back to Perl as I am much better at it and can code so much faster in Perl. Same goes with Java. I took 2 semesters Java lessons at the university, just for the fun. I aced those exams in 30minutes when those 18-19yr olds were coding for some hours and I got 17s for those exams. Although I am no expert, I can say I know my way around and probably can make something in Java.
It all depends on what you are using your skills for. I am not coding for end users, I am coding to do data manipulations for myself, to do data analysis. So I want to make snippets of code very fast and dirty, Perl style. And I don't need to bother about specs, I have a 150GB RAM server with 16 cores, I can parallellize my code etc etc. And if things really really take too long I just wait really really long and do something else while it is running
So unless someone forces me to code otherwise, I will never switch. Same for .net I guess. People that know their way around in .net will never change for some reason. People don't start speaking chinese because there are many chinese. People are born and learn chinese, evolution generation by generation.
and on topic: Bjorn struuopoproorpp c++ book.
|
|
Back to top |
|
 |
spankie
VIP Member
Posts: 2958
Location: Belgium
|
|
Back to top |
|
 |
|
|
Back to top |
|
 |
|
Posted: Mon, 24th Oct 2011 21:19 Post subject: |
|
 |
That's what they get trying to have performance heavy applications written in C#.
I have nothing against C#, in fact I use it a lot, but people should know its purpose. If they're going to work against the language and the GC by using unsafe code and various tricks to get around such problems, then they're better off using C++ in the first place. At least for critical parts of the program.
|
|
Back to top |
|
 |
LeoNatan
Banned
Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
|
Posted: Mon, 24th Oct 2011 21:34 Post subject: |
|
 |
Unfortunately, sometimes marshaling data can be as slow as some of these bugs, so finding workarounds with unsafe is sometimes the best way to go. And it's not much unlike C++ that way.
|
|
Back to top |
|
 |
|
Posted: Mon, 24th Oct 2011 21:50 Post subject: |
|
 |
Yeah I understand. What bothers me that people actually think they can get away with performance heavy applications without considering memory management and other low-level stuff. Probably because I worked with too many such people.
Although I'm pretty sure C++ is coming back. C++11 offers some nice features that make C++ as safe as C# without any GC. C# did well when CPU clocks were rising at great speeds every year and most developers had all that extra performance. But soon enough I'm pretty sure they're gonna reach that ceiling where every bit of performance matters even apps that weren't performance critical before.
Last edited by BearishSun on Mon, 24th Oct 2011 21:54; edited 1 time in total
|
|
Back to top |
|
 |
LeoNatan
Banned
Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
|
Posted: Mon, 24th Oct 2011 21:53 Post subject: |
|
 |
Well, lets be fair here. It's not like on C++ same people would get away with similar programming without going low-end. Anything performance-heavy requires care and devotion, regardless the language or framework. You can write bad code on C#, C++, Objective C, C, Java, JavaScript, VBScript, Perl, Prolog and so on.
|
|
Back to top |
|
 |
|
|
Back to top |
|
 |
LeoNatan
Banned
Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
|
Posted: Mon, 24th Oct 2011 22:02 Post subject: |
|
 |
I lol'd. You've been too long with C++ to look objectively how much crap one has to go through to write very good code.
|
|
Back to top |
|
 |
|
Posted: Mon, 24th Oct 2011 22:32 Post subject: |
|
 |
In C# yeah, one has to go through a lot of crap. And I have to go through all that crap every day because we use C# are a scripting language in our games.
In C++ no, you just use the basic language constructs.
I work about 8 hours writing C# code every day, and another 5 writing C++, so I work with them both for long enough to be able to draw a pretty good comparison. It's just much easier to write performance critical code in C++, and much harder in C# because you have to work against the language and/or limit yourself to a subset of the language. And this is provided you know all the subtleties of the language.
And that's not the case for most people that don't realize that you shouldn't use LINQ in performance critical code, that C# strings are immutable, that foreach allocates a lot of garbage, and many other minor details that pile up in a large application.
In C++ it's pretty straightforward. You allocate memory, and you deallocate it. There isn't much magic going on behind the scenes, and it's harder to make such mistakes. That's why I said it's easier to write bad code in C#. (And because I have seen it happen too many times)
And I was actually surprised you disagreed with me on that point...
|
|
Back to top |
|
 |
Page 2 of 2 |
All times are GMT + 1 Hour |