Advertisement

Preferred development OS (Desktop/Laptop).

Started by September 24, 2012 11:43 AM
60 comments, last by Green_Gill 11 years, 11 months ago

umm....how often do u buy windows?

Once per machine, if you are doing things the legal way. You are also implicitly buying Windows every time you buy a PC.

I have quite a number of Windows licenses lying around. Boxed set of Windows 3.1, anyone?

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]


[quote name='Heath' timestamp='1348959332' post='4985179']
I always fall back on Linux, particularly when I don't want to pay for Windows again.


umm....how often do u buy windows?
[/quote]My desktop had Vista at first, and I had the choice to buy an upgrade to Windows 7, or to continue with Vista. I installed Ubuntu instead.
Advertisement

[quote name='SuperVGA' timestamp='1348933194' post='4985086']
It's not just that the header file is the interface contact, it's also that it serves as an overview of the class for the programmer.

The purpose of a header file is to convey the necessary information (and only the necessary information) to the clients of a class. Any time that private/protected functions or data become visible to clients, it becomes impossible to cleanly modify the implementation without impacting those clients.
[/quote]
No. Not necessarily. (In ObjC perhaps, and to each, theirs.) -They're originally meant just to hold the declarations to be shared between source files using those declarations.
When a declaration is moved from a header file into an implementation file, this purpose is ignored.
I understand that a language can use headers as a description of the class interface, and that's cool with me, I just personally don't like that,
as I like using headers as an overview of the class (or any other code module with a header)


In C++, changing the definition of a private function/data member in the header file will not only force the recompilation of every dependent source file, but if part of a shared library it will break binary compatibility as well (forcing all users of the library to recompile/relink their code). This is one of the key flaws in the C++ compilation model, which makes maintaining large-scale C++ software a nightmare, and gives rise to such workarounds as the PIMPL idiom (which just recreates the Objective-C feature you are complaining about).

Yes, sure. -I understand that. I like avoiding that sort of stuff, and I don't advocate the use of dynamic linked libraries, if that's what you mean by breaking the binary compatibility.
But I don't mind compiling more when we're talking large scale projects, and I would still prefer descriptive headers to less recompilation.
I really think you're overstating a little, by saying it's a nightmare. If you're maintaining a large scale piece of software, there are usually plenty of nightmares even without the
language-specific stuff.


Obj c does in no way imply developer comfort. -And it certainly doesn't blow c++ out of the water IMO...

To my mind, Objective-C is one of the most interesting object-oriented programming languages in current use. Not only have they managed to implement a highly-performant modula3-style dynamic object/messaging system, but they have managed to tie it into C/C++ as necessary to allow the use of both legacy software and low-level performance tricks.

That's not to say that I want to write all my code in Objective-C, but I strongly advise that you study its strengths (and the weaknesses of C++) in detail, before you make sweeping generalisations as to their relative worth.
[/quote]
I like the messaging system too, and I'm growing more and more fond of the named variables in the function prototype day by day.
It's nice of you to advice me, mr. Swift. I won't blindly pick a language over another without knowing what I'm trying to solve, either.
I've been writing C++ for four years now and I only have a year of ObjC experience. I came off as a little aggressive and I apologize if i stepped on any toes.
Languages are different, and many have conventions to build better code by means different than other languages, and I can really respect that.

As for the sweeping "generalization"; I explained earlier that that's what I was going for with this thread (general personal preference). I still stand by my opinion, but I learn everyday,
and I might learn to appreciate the peculiar ObjC header files too. So far, I just feel more comfortable with C++ with Netbeans C++ or even gEdit, Notepad++ and Gcc.

This was meant as a general platform thread too, so perhaps it was silly of me to start "complaining" about a language. Really, all I wrote about ObjC was

Too many preprocessor definitions in my opinion, and using brackets (a single character should here be 3) and that sort of function prototypes
is rather of cumbersome. Also I have a hard time getting used to private functions that are not declared in the header...

And you responded with:
[quote name='swiftcoder']
To my mind, this is one of the areas where Objective-C blows every other object-oriented language out of the water.
[/quote]
-So if anyone of us made a sweep at anything, it was you, and a big sweep, too.
I use Visual Studio a lot, but I'm fine with Notepad++ with a tags plugin and a command line build system. Although if I have to work with the command line I prefer Console2...it's nice being able to copy and paste with ctrl-c/ctrl-v. smile.png
What is wrong with this thread?
It keeps popping up as having new messages in my watched list, but there never is a new message.
except the one from MJP yesterday, but it has been popping up every day for over a week now.

What is wrong with this thread?
It keeps popping up as having new messages in my watched list, but there never is a new message.
except the one from MJP yesterday, but it has been popping up every day for over a week now.

http://www.gamedev.net/topic/624755-new-unread-post-triggered-by-poll-votes/

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Advertisement
I work on my Mac (running Lion) and play on my Windows PC (currently waiting to be rebuilt after a move). But then, I work with JavaScript and HTML5 which allows plenty of flexibility in terms of what OS one prefers. I just prefer using OS X for most activities. Because the development environment isn't really hardware intensive I can work comfortably on a MacBook Air and carry it everywhere with me, working in coffee shops, parks, etc if I feel like it.
I develop mostly on Ubuntu with Eclipse (sometimes with Qtcreator).

I work on my Mac (running Lion) and play on my Windows PC (currently waiting to be rebuilt after a move). But then, I work with JavaScript and HTML5 which allows plenty of flexibility in terms of what OS one prefers. I just prefer using OS X for most activities. Because the development environment isn't really hardware intensive I can work comfortably on a MacBook Air and carry it everywhere with me, working in coffee shops, parks, etc if I feel like it.

Well safari is pretty sweet, and there are a lot of nice editors to write html and js in,
so i can understand you. For the web and creative stuff a macbook is ok for me too.
I break out DOS and Turbo C++ every once in a while but mostly I use Visual Studio because it looks and functions beautifully. On Linux I use Code::Blocks and Debian because it works a bit like VS.

This topic is closed to new replies.

Advertisement