

Tools for Switching from Windows to Mac Development - digitalmaster
http://www.josebrowne.com/from-windows-to-mac-dev.html

======
brandon_wirtz
I am the lone Windows user in my office. I could use a post on how to go from
Mac Development to Windows. Only half kidding.

I don't want to make this a Win vs. Mac thread, but I think it is important
for both sides to understand there are things that are good about each.

The Mac guys get a closer to Linux environment, which makes much of the stuff
that is happening on Web servers behave more closely in dev to the way they do
in production.

Windows has a long history of dev tools, so there are some really great Large
File (>4 GB) editors, memory inspectors, inspection proxies (Fiddler for
example) which make my Mac devs jealous from time to time.

But I am routinely jealous of how easy it was when I was on a Mac to do
installs of Libraries using Yum and such. Plus since we are a mostly Python
Shop that is quite a bit easier on a Mac.

I am a long time user of Visual Studio, but there are a lot of great IDE's now
so you do have choices, and because many of those are Multiplatform you do
have more choice, even if your team mates don't share that choice. (Sublime,
Pycharm, Eclipse)

~~~
landr0id
The one thing that I absolutely cannot stand about my OS X workflow is that to
this day, I still have not found a good hex editor. On Windows I used HxD, but
there's nothing that really fits the bill. That, IDA Pro (I don't have an OS X
license and from what I hear the OS X version isn't too spectacular anyways),
and Visual Studio are what make me occasionally boot into Windows.

~~~
mattdw
HexFiend[1] doesn't do the trick? (I have only occasionally need for a hex
editor, but it serves well when the need arises.)

[1] <http://ridiculousfish.com/hexfiend/>

~~~
landr0id
I believe I tried it once, but the UI wasn't very appealing to me. The key
features I'm looking for are: fixed width of 16 bytes, clean interface,
process inspecting (not sure how easy that is to do to be honest) and raw disk
access.

------
acanby
I'd like to mention SourceTree[0] for a GUI DVCS. I typically drop to the
terminal for git usage, but every so often use SourceTree when I need
something that is easier achieved with a mouse.

[0] <http://sourcetreeapp.com/>

~~~
shaggyfrog
SourceTree makes staging chunks/lines in git a snap -- I use it to do that
every day. I couldn't imagine the tediousness of doing that on the command
line.

------
acanby
As someone who uses Terminal.app, what are the benefits of using iTerm2? After
looking at the features of iTerm2[1], I see a lot of it as superfluous.

That said I can see a usecase in the Growl notification feature for testing
etc.

[1] <http://www.iterm2.com/#/section/features>

~~~
masterleep
It is far faster at scrolling with non-ASCII characters, helpful when scanning
logs of such characters.

It has a better find interface.

It is almost exactly like Terminal.app in most respects, which I appreciate.

~~~
digitalmaster
Thanks for pointing these out m8. Cheers.

------
cschmidt
You'll probably want a graphical diff tool. I use Araxis Merge, because I've
used it for 15 years or so, but I'm sure there lots of other good options.

I can still remember the day our lead developer (at my previous job) led a
mutiny and we switched from Windows to Macs. A great day in my life. ... I'm
sure you'll enjoy developing on your Mac.

~~~
joejohnson
If you use Xcode, it has a visual difftool that is pretty good. I never use
anything for git besides cli and Xcode.

~~~
shaggyfrog
That would be FileMerge, which also does folder diffs -- although not as good
as Beyond Compare (one of the few apps I miss having from Windows dev).

------
Steveism
My personal 10 tools for Mac dev (in no particular order):

1\. Sublime Text 2 2\. Tower 3\. Kaleidoscope 4\. iTerm2 5\. Oh-my-zsh 6\.
Xcode 7\. MAMP Pro 8\. CodeKit 9\. Homebrew 10\. CodeRunner

Honorable mention to: xScope, Sequel Pro, Transmit

~~~
ktsmith
Any particular reason for Kaleidoscope over filemerge?

~~~
Steveism
I'm a big fan of Filemerge. I also really like Changes. I just prefer
Kaleidoscope's UI better. It has all the features for my needs in the recent
version 2 release. Black Pixel makes fine software and Kaleidoscope is no
exception.

~~~
digitalmaster
Indeed.. but $70 is a hard pill to swallow for a pretty file comparison
utility. I was thinking somewhere more around $30.

------
hfz
Dash app[1] is brilliant. It's an all-in-one place for language
documentations. Very useful.

[1]: <http://kapeli.com/dash>

~~~
digitalmaster
I think if i had known about this before it would have been in my top 10! This
is awesome! #thanks

------
minamea
I'm trying to do windows development and I'm learning that if you don't try to
force it into a unix-lixe env, it works fine.

I installed chocolatey [1] a package manager. With that I install python, git,
and vim and I'm up and running. My vimrc and gitconfigs almost worked copied
straight out of linux. I use cmd. My advice is not to use cygwin and the other
stuff like it...

[1] <http://chocolatey.org/>

~~~
eropple
I don't agree with this advice at all. That you are stuck with cmd is really
all that needs to be said.

On the other hand, Cygwin's gotten to the point where it, plus mintty, are
actually pretty good--Cygwin used to be a real pain to work with (I mean,
_bad_ ) but it's improved by leaps and bounds over the last few years. You can
get a bash or zsh shell that work remarkably closely to OS X or Linux and just
about every tool you're likely to run into will work as you expect. Contrast
this to direct Windows ports of your software, which are frequently
compromised to work in the fairly deranged environment of the Windows shell.

~~~
digitalmaster
I'm afraid i'm going to have to agree. Cygwin is wayyyy better that vanilla
cmd on windows.

------
tonetheman
And remember clicking the red X does not kill the process...

~~~
cobralibre
That's true except when it's not true. Some apps are single window
applications, and clicking the red x will in fact quit the app. For example,
System Preferences.

------
TallboyOne
Don't forget MACVIM. Vim on windows is terrible. Now that you're on OSX it's
going to be fantastic.

<3 Vim

~~~
hrayr
Can someone please explain to me the advantages of using MacVim over Vim
through terminal?

~~~
dkuntz2
It comes with a gui?

There isn't really any huge advantage (at least for gVim, I run linux...),
it's just nice to detach it from the terminal.

Mostly, I can change the window size without it affecting the size of my
terminal, and add some extra tweaks if wanted.

------
gradstudent
The only development tools you'll ever need: a terminal, vim and the GNU
toolchain (gcc, gdb, make, screen etc).

~~~
vacri
Not making any graphical assets?

~~~
gradstudent
I don't understand your point. You can make UIs with CLI tools as well as
IDEs? My post was trying to say that the GNU toolchain is portable across all
major systems. Switch to it and you never need to ask what tools you should be
using to develop on XYZ.

~~~
vacri
Images/icons/video.

~~~
gradstudent
I thought we were talking about development not graphic design

------
shaggyfrog
Not mentioned yet: HexFiend for hex editing, Cocoa Packet Analyzer and
Wireshark for packet inspection.

------
frozenport
I disprove.

If you wanted a Unix environment you could have installed Linux.

~~~
r00fus
OSX == Unix. [1]

OSX != Linux.

[1] [http://arstechnica.com/apple/2007/08/mac-os-x-leopard-
receiv...](http://arstechnica.com/apple/2007/08/mac-os-x-leopard-receives-
unix-03-certification/)

