Preferred development OS (Desktop/Laptop).

Started by
60 comments, last by Green_Gill 11 years, 5 months ago

You must be more comfortable in developing on one OS than another, -even though they run on the same machine... Just pick one! biggrin.png
But it's nice to see that successful OS fusion setups exist. I rarely do it for very long before being annoyed with one of them.


Right now I'm more comfortable in osx and ios, but thats just because I do it daily and know where all the tools and docs are, and all the shortcuts are programmed into my nervous system.
I don't doubt I would be equally comfortable in any other os pretty soon.
The OS isn't really that important to me, the important part is the available tools for what I want to do.
And my point is no OS wins there in general :)

Oh, and I also instantly fell in love with the mac track pad and have a really hard time using any competitor since.
Though on a few new pc:s I've tried, they begin to approach.
At least they are starting to get the friction coefficient right
Advertisement

[quote name='SuperVGA' timestamp='1348817708' post='4984647']
You must be more comfortable in developing on one OS than another, -even though they run on the same machine... Just pick one! biggrin.png
But it's nice to see that successful OS fusion setups exist. I rarely do it for very long before being annoyed with one of them.


Right now I'm more comfortable in osx and ios, but thats just because I do it daily and know where all the tools and docs are, and all the shortcuts are programmed into my nervous system.
I don't doubt I would be equally comfortable in any other os pretty soon.
The OS isn't really that important to me, the important part is the available tools for what I want to do.
And my point is no OS wins there in general :)

Oh, and I also instantly fell in love with the mac track pad and have a really hard time using any competitor since.
Though on a few new pc:s I've tried, they begin to approach.
At least they are starting to get the friction coefficient right
[/quote]

Yeah the mac touchpads are great, but I never substitute the mouse unless i really
Have to code on the go. I think having the right tools available is essential.
But I was thinking about the file manager and other built-in tools that you use
when developing.

You mention being "comfortable in osx and ios" -are you actually developing inside ios or did you mean "for" it?
I develop for ios, droid and cross platform pc everyday, in windows and in osx,
and although i love compiled languages as obj-c, I really dislike the intended syntax.
Too many preprocessor definitions in my opinion, and using brackets (a single character should here be 3) and that sort of fuction prototypes
is rather of cumbersome. Also I have a hard time getting used to private
functions that are not declared in the header...

But other than that, sure, ios is kinda cool.

Also I have a hard time getting used to private functions that are not declared in the header...

To my mind, this is one of the areas where Objective-C blows every other object-oriented language out of the water.

Private methods are not part of the class' interface contract - they should not be declared in a location visible to the customer. I only wish they had done the same for private member variables...

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


[quote name='SuperVGA' timestamp='1348853417' post='4984784']
Also I have a hard time getting used to private functions that are not declared in the header...

To my mind, this is one of the areas where Objective-C blows every other object-oriented language out of the water.

Private methods are not part of the class' interface contract - they should not be declared in a location visible to the customer. I only wish they had done the same for private member variables...
[/quote]

I agree with this...
obj-c has a few good points, and this is one of them imo.

Mostly I program in C++ though, but I can do obj-c too, and have developed for both osx and ios.
I didn't mean I programmed IN iOS, but I like the tools that are available. The OpenGL debugger is really nice for example.
Wish there was better support for shader development though...
Its wonderful to work with standardized hardware.

I've also been using eclipse for android development, and I despise it smile.png
It's part eclipse fault for being slow, eat too much ram, trying to be too smart and generally being a nuisance.
And part android sdk for being buggy, and have bad support for multiple projects with interdependencies.
Using the ndk didn't help the experience, though I've heard it is supposed to work better now, though I'm still suspicious until I see it under the pressure of a real project...

As for file managing, I have been using TotalFinder to group finder windows and bring them up on a keystroke, though it has been kind of buggy when using two screens lately.

And I like that I have a bash shell available, and its usually easy to install gnu stuff if you need it.

I use the trackpad (and built in keyboard) all the time, even when connected to a bigger screen at the office, I find it a lot more ergonomic then using a mouse, even though its a bit slower. Also, using that all the time makes the transition easier for when I'm out of office. I long for the day when accurate eyetracking is built into every laptop...

At home I have a hobby project I just started, and for that I downloaded Visual Studio Express 2012, since it was a long time since I had an opportunity to use VS professionally. (and it needs to run on windows)
I have no idea if I like it yet, most things seem to work similar to as I'm used to, just a bit more flat and edgy smile.png

[quote name='SuperVGA' timestamp='1348853417' post='4984784']
Also I have a hard time getting used to private functions that are not declared in the header...

To my mind, this is one of the areas where Objective-C blows every other object-oriented language out of the water.

Private methods are not part of the class' interface contract - they should not be declared in a location visible to the customer. I only wish they had done the same for private member variables...
[/quote]
Maybe they aren't, but it makes good sense to predeclare them somewhere.
If for nothing else, then at least for the class to use functions implemented further down.
In my opinion, this clutters up my implementation file in objc.

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. I don't know if it's a neXt or an objc thing,
But maybe it wasn't that clever to call the header file the interface of the class.

Maybe it's up to the developer to decide how/if the class "interfaces" to the surrounding world.
But maybe arbitary declaration points is seen as an advantage. -It just doesn't say proper code organization to me.

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

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.

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).

Obj c does in no way imply developer comfort. -And it certainly doesn't blow c++ out of the water IMO...[/quote]
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.

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

Debian, git, and emacs is all I need for development work. Anything else is just an apt-get away.
I, myself am an artist, and I prefer OS X for development, ad the tools just seem to integrate much better, and the os is slick and sexy. (I do not pwn a mac, but have used them for development. I obviously dont have that money, I'm 13) and linux Ubuntu would be my second place.
I always fall back on Linux, particularly when I don't want to pay for Windows again. Development environment? Git, python, terminal, and a text editor. I don't much care what text editor, but I've been using Gnome's editor lately. I'm able to read my github code on my tablet (and I could even test it if I installed the relevant apps) when I'm away from my desktop or netbook... which I suppose makes me a bit overly connected.

I always fall back on Linux, particularly when I don't want to pay for Windows again.


umm....how often do u buy windows?
Check out https://www.facebook.com/LiquidGames for some great games made by me on the Playstation Mobile market.

This topic is closed to new replies.

Advertisement