Showing posts with label idea. Show all posts
Showing posts with label idea. Show all posts

Thursday, July 14, 2016

Using Ligature Fonts in IntelliJ

IntelliJ IDEA 2016.2 was released with improved support for programming fonts with ligatures. I tried a few of them to see how I felt about them. I do some Scala in IntelliJ, so I used Scala examples to compare how I felt about things.

Hasklig
Hasklig initially felt like the right font for me. It's based on Source Code Pro, which I like, although it's never been my favourite programming font. It's very round, and a bit wider than I normally choose, but legible, and the ligatures look nice.


However, I do like the idea of having a ligature for "!=", and Hasklig limited ligature set doesn't include one for this.

Fira Code
Fira Code looks a reasonable amount like Hasklig, really. It's a little narrower, a little less round. I found it very slightly less legible at first, but it was a close second place. Notice that it does include a not-equals ligature:


Although I started with Hasklig, I have since switched to Fira. 

Monoid
Monoid is big. It's the only one that I'm showing here in 12pt instead of 13pt, and even that feels bigger than the others. It's pretty legible, but the weight feels a little too light as a result to me. Feels like coding in Helvetica Neue Ultra-Light.

Pragmata Pro
Pragmata Pro is narrow and tall. The wideness of Source Code Pro is one of the reasons I stayed away from it at first, but Pragmata feels almost cramped to me. I like the idea of firing a lot of text in, but it feels less legible as a result of its narrowness, so I'm not sold.

The fact that it costs €199 for the complete family does not endear me to it either. I understand making fonts is a lot of work, but many programmers aren't going to bother with a custom font at all, and making it that expensive pretty much rules out the odds of it being an impulse purchase. Some way of trailing the font in an IDE would be nice.

If I felt this were the right font for me, I suppose I would probably purchase it anyway, but at that price I'd want to be sold right away, and I'm not. If it were cheap, maybe I would have impulse-purchased and given it a longer trial.

Pragmata does have a lot of nice features, so if you do feel so inclined, it's still worth looking at.

My Choice
To be honest, these are all pretty decent fonts, and if you're interested in having programming ligatures, I urge you to try some of them out and see which one fits for you.

For me, I think I'm going to try Fira Code for a while. If Hasklig or Source Code Pro adds more ligatures, I might consider going back. I'll also be watching for other ligature programming fonts (Inconsolata, for instance?).

Have any suggestions I should try?


Thursday, May 16, 2013

Why Did Google build Android Studio on IntelliJ IDEA?

At Google I/O 2013, Google announced the availability of Android Studio, an Android development integrated development environment (IDE) based on IntelliJ IDEA.

Thus far, the primary target of Google's IDE integration efforts have been focused on Eclipse, the predominant Java IDE. Google has Eclipse plugins for GWT and AppEngine, Android, Dart, and possibly other projects I'm forgetting. So it's a bit of a surprise to see Google focusing so much energy on an Android Studio based on IntelliJ IDEA.

Google's being circumspect at this point in terms of how they talk about Android Studio. It's an early access preview. There's no clear language on whether or not ADT is now deprecated, replaced by Android studio, although rumor has it they will support both. Even if Google publicly commits to continuing development on both Android Studio and ADT, will one of the two see the lion's share of the investment? Will one languish while the other flourishes? Only time will tell.

Android Studio is a new set of plugin APIs, a new windowing toolkit (Swing vs. SWT), a new ecosystem, a new set of related plugins to consider integration with. There would be a lot of effort in supporting a new IDE integration for IDEA, even given that JetBrains had already started the work by supporting Android development in the first place. It may confuse new Android developers who now have to choose between two IDE options without identical feature sets. It will create a whole new support channel for people with Android Studio questions. At this point, they're still recommending ADT as the mature choice, but it seems like it won't be long before the decision is less clear-cut.

For a company that's talked repeatedly about putting more wood behind fewer arrows and focusing their efforts, supporting two IDEs for mobile development seems unnecessary, excessive.

So why are they doing this? Are they just so intent on getting developers to Android that they believe they need to support two distinct Java-based IDEs? It doesn't seem likely that there are enough dyed-in-the-wool IDEA supporters who want to build Android apps, but are unwilling to do so in Eclipse to justify the move.

It seems more likely that they have decided to switch horses midstream, and are backing Android Studio over the long haul and supporting ADT for now simply because it's too early to get people to switch and it's expedient and politically sound to wait until Android Studio is overwhelmingly better.

But if that's true, what about the other Eclipse plugins that Google supports? And why switch the build system to Gradle? There are lots of questions, few answers. I am interested to see how this feels in a year or two.