Archive for 3月, 2015

GNUstep

土曜日, 3月 14th, 2015

Objective-Cといえば、Apple製品の開発言語ですが、Xcode上でiPhoneの開発をするときしか使ったことがありませんでした。LinuxでObjective-Cによる開発をする環境のGNUstepというものがあると知って、試してみました。
もともとは、NeXTstepというOS、このOSのアプリケーションの記述言語だったものを、Linux上に移したのがGNUstepということになります。

参考 :
http://www.gnustep.it/nicola/Tutorials/WritingMakefiles/node6.html

環境 : Ubuntu 14.04

#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>

int main()
{
  NSAutoreleasePool *pool = [NSAutoreleasePool new];

  [NSApplication sharedApplication];

  NSRunAlertPanel (@"PanelTest", @"Hello from the GNUstep AppKit", nil, nil, nil);

  [pool drain];

  return 0;
}

GNUmakefile

include $(GNUSTEP_MAKEFILES)/common.make
APP_NAME = PanelTest
PanelTest_OBJC_FILES = Source.m
include $(GNUSTEP_MAKEFILES)/application.make

コマンド

apt-get install gnustep
apt-get install gnustep-devel
export GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
make
openapp ./PanelTest.app

gnustep01

最近は、Swiftという言語が新しくあらわれ、以前から難解と言われているObjective-Cに変わろうとしていますが、個人的には、この言語とても好きです。
C言語に追加される形でモダンの機能が使えるようになっているからです。コードを混在させるという面でもC++より柔軟です。
混在をきらう人もいますが、文法の差異が大きいので、混在しても識別は容易です。
Cベースのキャリアの人は、好きになりやすいと思うのですが、とっつきにくさと使う機会の少なさから正しく評価させていないような気がします。
という私も使う機会がiPhone以外ないので、このGNUstepによって広がれば面白いかもしれません。