28ed6
![]() |
|
|
|
|
|||||||
| Userland Programming & Scripting C, Shell, Perl, Sed & Awk |
![]() |
|
|
Thread Tools | Display Modes |
|
#51
|
|||
|
|||
|
Quote:
Quote:
|
| The Following User Says Thank You to drhowarddrfine For This Useful Post: | ||
valsorym (August 22nd, 2012) | ||
|
#52
|
|||
|
|||
|
C++/CLI or C++/CLR whatever it is called is indeed a second class citizen on .NET. It was introduced for C++ developers to pick up .NET library. Even I've used it.
With Windows 8, MS is going back to C++ as the primary language for development. As, kpederson pointed out its shortcoming, hence the furious back paddling. However, to be fair, .NET is an excellent framework. And the best part is that the CLR specs are ECMA standards, which means contrary to FOSS opinion it is not tied to MS anymore. Back to topic. Few days ago Qt was bought out by Digia and their immediate goals are port for iOS and Android with more R&D for desktop (Nokia had begun to sideline desktop towards the end of its Qt ownership). So, C++ is there with Windows, iOS, OSX, Android and Linux (X11 port). This where the market is moving. |
| The Following User Says Thank You to SR_Ind For This Useful Post: | ||
valsorym (August 22nd, 2012) | ||
|
#53
|
|||
|
|||
|
Quote:
And while torvalds may be a skilled C programmer, I yet have to see some C++ code from him where it is demonstrated that he actually knows what he is talking about. Lucy has some interesting points for this, using MacOS X as the example.
__________________
Optimists believe we live in the best world possible. Pessimists agree to this. Two little lights, blinking out in a sky full of stars - we will never forget you. I miss you so much |
|
#55
|
||||
|
||||
|
He just doesn't know how to use C++. As flexible as C++ is, you can easily wall yourself in with the wrong design approach. Also, having come from C, I know first hand that you can't really approach problems with the same mindset as a C programmer.
As much as I despise them, established C++ design patterns do help prevent you from walling yourself into a bad design. These types of patterns aren't very intuitive either. Don't believe me? Go read about some of these design patterns for yourself. As abstract and useless as they might appear, they're actually used quite universally in projects like Qt, Clang and Firefox (to name a few). |
|
#56
|
|||
|
|||
|
As I wrote : "I yet have to see some C++ code from him where it is demonstrated that he actually knows what he is talking about."
No offense, I pull my hat when it comes to herding cats in front of Linus for what he does to manage the kernel. He also seems quite competent at C, but it may be a bit hard to spot code which is 100% from him in the kernel. I frankly tell that I did not take the time to dig some of it out. But upto now, his position about C++ is about as scientifically proven as mine regarding ruby. Tried it, did not understand it immediately, therefore most likely misused it and failed. But I am open minded enough not to blame ruby for my not liking it, and I am a bit offended that a person which seems competent and intelligent to me does not consider the possibility that he may himself be at fault. So, when it comes to Linus, let's file his rant under "using screwdriver as a hammer" but not under "reviewed research". The question 'C or C++' (let alone Java, Lisp, Fortran or Cobol) can not be answered without knowing what the exact problem is and who is going to be doing the programming. Someone who is competent in Pascal but not Java, I would allow to use Pascal if no big arguments to the contrary are present. So, let Linus use C for all he wants as long as he get's it done without creating unmaintainable nightmares. But that does not mean that this is a rule which suddenly appeared on some stone atop some mountain.
__________________
Optimists believe we live in the best world possible. Pessimists agree to this. Two little lights, blinking out in a sky full of stars - we will never forget you. I miss you so much |
|
#57
|
|||
|
|||
|
You're not offending me. I'm just pointing out things I read.
|
|
#58
|
||||
|
||||
|
Quote:
I understand that, Objective-C it is real heir C, but that object oriented language. C++ - object oriented language too, but it is a separate language, let's say: like C but not heir C. As I understand, for example: Code:
+-----+ +--------+ +------+
| C | | Pascal | | C++ |
+-----+ +--------+ +------+
| |
| |
+-------------+ +---------------+
| Objective-C | | Object Pascal |
+-------------+ +---------------+
|
|
+--------+
| Delphi |
+--------+
I would like to use Objective-C but it is very ugly syntax.
|
|
#59
|
||||
|
||||
|
Quote:
Code:
+-----+
| C | ---- --> +------+
+-----+ | C++ |
| +------+
| |
+-------------+ +-------------+
| Objective-C | --> | Objective-C++ |
+-------------+ +-------------+
combination of C++ and Objective-C syntax. Objective-C++ adds to C++ the extensions that Objective-C adds to C. |
| The Following User Says Thank You to yoxter For This Useful Post: | ||
valsorym (August 22nd, 2012) | ||
|
#60
|
|||
|
|||
|
That is good. Since I tend to question anything that is not nailed down in all directions and dimensions some people get annoyed at me for constantly poking holes into arguments and plans. For me, this is what I consider part of my job.
__________________
Optimists believe we live in the best world possible. Pessimists agree to this. Two little lights, blinking out in a sky full of stars - we will never forget you. I miss you so much |
|
#61
|
||||
|
||||
|
Agreed!! The ugliest syntax that I've ever seen.
|
|
#62
|
|||
|
|||
|
Ambiguous feelings.
Lack of familiarity with new language syntax and philosophy behind the structure of language is major cause of feeling like that. This thread has been started a fortnight ago. For those who are familiar with one language beforehand, It's more than just enough time to learn the syntax of new language.
__________________
Zhoopin (ʒuːpiːn) - Meri - Mehrshad Moslehi |
| The Following User Says Thank You to zhoopin For This Useful Post: | ||
NuLL3rr0r (August 23rd, 2012) | ||
|
#63
|
||||
|
||||
|
Quote:
C++, C#, Perl, Ruby, Python, Lua, JavaScript/JScript, ActionScript, UnrealScript, VB.NET, VB6, Delphi/Pascal, VBScript, FoxPro, Logo, GW/QBasic and CMake even Assembly (Of course there are languages like C, Java, PHP which I had no experiments with). It is ugly by any means!! Last edited by NuLL3rr0r; August 25th, 2012 at 01:10. |
|
#64
|
|||
|
|||
|
That is something I also found highly disturbing in objective-c. Being a compiler geek, I mostly value what the thing does behind the back, but the syntax from objective-c has the double inheritance of C and smalltalk. The "object" part is taken from a language with a very different syntax and thus feels pretty alien to the C part. The C part then looks alien in areas where a lot of object oriented code is crammed together. This is one point that was done a lot better in C++ (when leaving templates out), it fits a lot better into the "picture".
Core of the ugly is, IMHO, the way to pass parameters to methods which is completely different to C in syntax. Passing more than one parameter simply looks ugly to the C eye. But what the language offers in power is, is several areas, a lot better and clearer as C++. I would like to do some work with it, just to get to know it better and maybe love or hate it with more gusto and reason
__________________
Optimists believe we live in the best world possible. Pessimists agree to this. Two little lights, blinking out in a sky full of stars - we will never forget you. I miss you so much |
| The Following User Says Thank You to Crivens For This Useful Post: | ||
NuLL3rr0r (August 25th, 2012) | ||
|
#65
|
||||
|
||||
|
@Crivens
My English sucks a little bit ![]() Thank you for correcting me.
|
|
#66
|
||||
|
||||
|
From http://gcc.gnu.org/
Quote:
Quote:
|
|
#67
|
|||
|
|||
|
GCC in C++? Linus will have a fit
|
|
#68
|
|||
|
|||
|
I like C for it's simplicity, but whenever I start a project in it I start to miss C++ features at some point. That's especially true when I try to keep C90 compatibility...
Quote:
I'm hugely surprised to read this and would like to know what makes you like it so much. |
|
#69
|
|||
|
|||
|
Agreed, but unfortunately these days .NET is so well marketed that it is extremely prevalent in most software companies. My previous statement was mostly that I simply prefer writing in C++/clr than C#. However, native C/C++ and the best library for the job is really the *only* solution.
I think it is great that Microsoft is cooling off .NET and moving towards native C++ or Javascript, it is going to leave the "consumer-developers" standing around looking confused just like in the Visual Basic 6 days ![]() (But will they finally choose C++? Nooo, 'course not! The fools will probably choose some proprietary MS Javascript clone instead. WinRT? Then the whole cycle begins again...) |
|
#70
|
|||
|
|||
|
Well the C vs C++ endless debate.
Operating Systems are usually written in C for different reasons, mainly because to program OSs you have to deal with low level details, and low level details are not easily modeled thru objects (which are higher abstractions). Think about the mi_switch() function: that is a function that switches two threads, it is not something like "the only instance of the scheduler object have to switch two object threads". This of course does not mean that OSs do not include objects: a process is an object, and structs represent them very well. After all, an object is a struct with the data and somewhere methods contained in a table. Another reason is about compilers: while it is simple todays to find a good C++ compiler, it was not in the past. This is why Gnome does not use C++ but C. Last but not least there is to deal with the develooers: while a lot know quite well C, a few know C++ and in particular a very few know how to use it effectively. Having said that, OSs can be developed using C++, as well as using Java and other languages. HaikuOS is one of such system (as far as I remember). |
|
#71
|
||||
|
||||
|
For me nature of the code I am writing will determine if I will use C or C++. You have to plan ahead to save time, things like code reusability, portability and processing features determine for me what language I will use.
For example if I write really general code that I want to reuse in ruby/python later on I will definitely write it in C for painless porting as a native module. Another thing to keep in mind is if you will heavily use dynamic data types and hashing, because of lack of templates in C it gets very ugly and you have to drag a bunch of libraries with you, while stdc++ lib will cover most of it. |
|
#72
|
||||
|
||||
|
Its not about how pretty it is. Its more about having a clear separation of the layers in the syntax. Its easer to read through the code and see how Objective layer wraps the C/C++ code. At start it feels weird/wrong, but like with everything you need to get used to it.
|
|
#73
|
|||
|
|||
|
Quote:
Moreover, Objective C could be considered a Java father, therefore it should not scare so much. |
|
#74
|
|||
|
|||
|
Quote:
I didn't get you, what is "undersigned" standard library? To be direct to the point, .NET is one of the well designed libraries. I worked on the first project way back in 2001/2002 with the beta release. In those days there was nothing on the Internet. There was no complete documentation for the beta product. We did the project with whatever content there was in MSDN and .... intellisense of Visual Studio. In my opinion this is only possible when the library you are working with is a well structured, intuitive, with a sensible nomenclature. To anybody coming from direct C background the library would seem weird. Similar complain was from Visual Basic programmers. It is due to lack of familiarity and experience with large scale object oriented development. Talking of ad-hoc hacks, to my experience two libraries take the honour, GTK and Java. How queer my choice of tools are C# and Qt...the opposites of the above two.
|
|
#75
|
|||
|
|||
|
https://michaelochurch.wordpress.com...ges-to-master/
Reading this article will help choosing languages to learn. c++ does well on what it's good at in a very complicated way. |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [Solved] Your opinion before I try installing? | brigzzy | X.Org | 8 | March 2nd, 2012 02:26 |
| Processor opinion: Athlon II or Phenom II | roddierod | Off-Topic | 23 | March 15th, 2011 07:50 |
| Your opinion about performing upgrading on laptops | sysman | Mobile Computing | 7 | June 10th, 2010 11:28 |
| trailer of my new sk8 movie :) (It would be my pleasure to tell me your opinion) | sk8harddiefast | Off-Topic | 2 | May 27th, 2010 01:41 |
| opinion needed: 2 LANs (wireless + wired) or just 1? | rambetter | Networking | 13 | September 9th, 2009 04:17 |