SlideShare a Scribd company logo
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
Delphi の残念なとこ!
2014/08/23 @pik
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
自己紹介
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
※ツイートの引用について了承済み
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
\ /
\ 丶 i. | / ./ /
\ ヽ i. .| / / /
\ ヽ i | / / /
\
-‐
ー
__ わ た し で す --
二 / ̄\ = 二
 ̄ | ^o^ |  ̄
-‐ \_/ ‐-
/
/ ヽ \
/ 丶 \
/ / / | i, 丶 \
/ / / | i, 丶 \
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
普段は
Android/iOS のアプリを組んだり、
Win/OSX の開発したりしてます。
Delphi で!
twitter: @pik
Copyright © 2014 SERIALGAMES inc.. All Rights Reserved.
先に言って
おきます
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 7
Happy Creation, Play the Development!
はじめに
Delphi
大好き
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 8
Happy Creation, Play the Development!
あくまでも
個人的な
見解です!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 9
Happy Creation, Play the Development!
★★ Delphi ランキング ★
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 10
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 11
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 12
Happy Creation, Play the Development!
無名関数定義がめんどい!
type
TFoo = reference to procedure of object;
procedure Bar(Foo: TFoo);
begin
end;
begin
Bar(
procedure
begin
// DO SOMETHING
end;
);
end;
長ぇwww
訂正
of object いりませんでした!むしろ書けない!
短くなった!?……いや、そういう事でなく、
reference to 構文が長いって話です。
lyna 氏、ご指摘ありがとうございます。
https://twitter.com/lynatan/status/503193343338094593
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 13
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 14
Happy Creation, Play the Development!
循環参照めんどい!
unit A;
interface
uses B;
implementation
end.
unit B;
interface
uses A;
implementation
end.
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 15
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 16
Happy Creation, Play the Development!
文字列インデックスが!
// 今まで
Str := 'ABC';
Writeln(Str[1]) // 結果:A
// NEWGEN コンパイラ
Str := 'ABC';
Writeln(Str[1]) // 結果:B
0 based に!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 17
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 18
Happy Creation, Play the Development!
プリミティブがあるよ!
// プリミティブ
var
Int: Integer; // 整数型
Car: Cardinal; // 符号無し整数
Chr: Char; // 文字型
Str: String; // 文字列型
Bol: Boolean; // 真理値
Set: set of TAnsiChar; // 集合型 などなど
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 19
Happy Creation, Play the Development!
レコードヘルパ!
// プリミティブにメソッドを加える小手先技!
type
TStringHelper = record helper for String
public
property Chars[Index: Integer]: Char read GetChars;
end;
TIntegerHelper = record helper for Integer
public
function ToString: String;
end;
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 20
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 21
Happy Creation, Play the Development!
ローカル変数定義がめんどい!
var
Foo: Integer;
begin
// こんな風に書きたい!
var Foo: Integer = 0;
end;
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 22
Happy Creation, Play the Development!
Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 23
Happy Creation, Play the Development!
名前が揺らいでる!
Object Pascal
↓
Delphi Language
↓
Object Pascal 戻ったwww

More Related Content

What's hot

作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
典子 松本
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
Fumiya Sakai
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
Fumiya Sakai
 
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
historia_Inc
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
Fumiya Sakai
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
Fumiya Sakai
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発
Kohki Miki
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
Shozo Okada
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
Fumiya Sakai
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
Fumiya Sakai
 
AngularJS入門の巻
AngularJS入門の巻AngularJS入門の巻
AngularJS入門の巻
Toshio Ehara
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
Fumiya Sakai
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Saiki Iijima
 
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
historia_Inc
 
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるiOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
Fumiya Sakai
 
AngularJS入門の巻2
AngularJS入門の巻2AngularJS入門の巻2
AngularJS入門の巻2
Toshio Ehara
 
禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務
KLab Inc. / Tech
 
[FlashAir Developers Summit] FlashAirの紹介
[FlashAir Developers Summit] FlashAirの紹介[FlashAir Developers Summit] FlashAirの紹介
[FlashAir Developers Summit] FlashAirの紹介
FlashAirデベロッパーズ
 

What's hot (20)

作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
作ろう!LINEスタンプ 〜スタンプクリエイターの語り場〜
 
Storyboard
StoryboardStoryboard
Storyboard
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
Megascansを使った効率化と楽しい絵作り ~Cutting-Edge Test Drive制作事例~
 
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
動画プレイヤーアプリの開発を通じて学んだ機能を実現するための要点解説
 
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
ライブラリやView構造を有効活用して iOSアプリのUIをオシャレにするワザ紹介
 
エターナらないゲーム開発
エターナらないゲーム開発エターナらないゲーム開発
エターナらないゲーム開発
 
2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk2011_9_9_AIR_LightningTalk
2011_9_9_AIR_LightningTalk
 
アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集アプリ開発におけるテキスト装飾のアイデア集
アプリ開発におけるテキスト装飾のアイデア集
 
SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録SwiftとReactNativeで似たようなUIを作った際の記録
SwiftとReactNativeで似たようなUIを作った際の記録
 
AngularJS入門の巻
AngularJS入門の巻AngularJS入門の巻
AngularJS入門の巻
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
[UNREAL FEST EAST 2017] VRゲームairtone制作事例 - VRを活かす3つのゲームデザイン的挑戦
 
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみるiOSアプリで気になった動きや表現を上手にアレンジして活用してみる
iOSアプリで気になった動きや表現を上手にアレンジして活用してみる
 
AngularJS入門の巻2
AngularJS入門の巻2AngularJS入門の巻2
AngularJS入門の巻2
 
禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務禍つヴァールハイトを支えるレイアウト業務
禍つヴァールハイトを支えるレイアウト業務
 
[FlashAir Developers Summit] FlashAirの紹介
[FlashAir Developers Summit] FlashAirの紹介[FlashAir Developers Summit] FlashAirの紹介
[FlashAir Developers Summit] FlashAirの紹介
 

Viewers also liked

Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Shinya Okano
 
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
Embarcadero Technologies
 
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
Embarcadero Technologies
 
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」 「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
Embarcadero Technologies
 
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
Embarcadero Technologies
 
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
Jun Hosokawa
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
 
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
和弘 井之上
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
Kaz Aiso
 
4000社が認めた超高速開発ツールで戦略的IT活用を
4000社が認めた超高速開発ツールで戦略的IT活用を4000社が認めた超高速開発ツールで戦略的IT活用を
4000社が認めた超高速開発ツールで戦略的IT活用を
Kazuya Mori
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
正善 大島
 
ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?
suno88
 
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
Embarcadero Technologies
 
「ゲームUIから考える これからのエンタープライズUX」
「ゲームUIから考えるこれからのエンタープライズUX」「ゲームUIから考えるこれからのエンタープライズUX」
「ゲームUIから考える これからのエンタープライズUX」
Embarcadero Technologies
 
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションDeveloper Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
Jun Hosokawa
 
CnPack の紹介
CnPack の紹介CnPack の紹介
CnPack の紹介
Jun Hosokawa
 
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識
Jun Hosokawa
 
VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門
Jun Hosokawa
 

Viewers also liked (20)

Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
 
Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介Delphi ideを使わない開発スタイルの紹介
Delphi ideを使わない開発スタイルの紹介
 
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
「Delphiのマイグレーションを行うのであれば、これだけは知っておこう!」
 
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
 
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」 「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
「今さら聞けない!? FireDAC入門 ~ オンメモリーデータベース編」
 
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
「RAD Studio 10.1 Berlinで始めるIoTアプリケーション構築」
 
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
 
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
【Delphi / C++Builder Starter チュートリアルシリーズ】 第5回 ‟イベントに合わせて動かしてみよう„
 
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】  シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
 
4000社が認めた超高速開発ツールで戦略的IT活用を
4000社が認めた超高速開発ツールで戦略的IT活用を4000社が認めた超高速開発ツールで戦略的IT活用を
4000社が認めた超高速開発ツールで戦略的IT活用を
 
超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0超高速開発の基礎概念 20141119 0
超高速開発の基礎概念 20141119 0
 
ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?ねえ、お父さんのお仕事ってなぁに?
ねえ、お父さんのお仕事ってなぁに?
 
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
「今どきのUXを実現するためのRAD Studio新機能活用テクニック」
 
「ゲームUIから考える これからのエンタープライズUX」
「ゲームUIから考えるこれからのエンタープライズUX」「ゲームUIから考えるこれからのエンタープライズUX」
「ゲームUIから考える これからのエンタープライズUX」
 
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションDeveloper Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
 
CnPack の紹介
CnPack の紹介CnPack の紹介
CnPack の紹介
 
Dev camp25 lt
Dev camp25 ltDev camp25 lt
Dev camp25 lt
 
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識
 
VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門
 

Similar to Delphi のダメな所

ISUCON2015 PHPで予選を戦ってみた
ISUCON2015 PHPで予選を戦ってみたISUCON2015 PHPで予選を戦ってみた
ISUCON2015 PHPで予選を戦ってみた
Ken Gotoh
 
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -
[CEDEC2014] 消滅都市のつくりかた   半年で素敵なゲームをリリースするには -[CEDEC2014] 消滅都市のつくりかた   半年で素敵なゲームをリリースするには -
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -
gree_tech
 
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
schoowebcampus
 
これぞIoT!
セラクのスマート洗面台
これぞIoT!
セラクのスマート洗面台これぞIoT!
セラクのスマート洗面台
これぞIoT!
セラクのスマート洗面台
Kohei Mochida
 
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
Kohei Mochida
 
スマート野菜工場の先にあったみどりクラウド
スマート野菜工場の先にあったみどりクラウドスマート野菜工場の先にあったみどりクラウド
スマート野菜工場の先にあったみどりクラウド
Kohei Mochida
 

Similar to Delphi のダメな所 (6)

ISUCON2015 PHPで予選を戦ってみた
ISUCON2015 PHPで予選を戦ってみたISUCON2015 PHPで予選を戦ってみた
ISUCON2015 PHPで予選を戦ってみた
 
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -
[CEDEC2014] 消滅都市のつくりかた   半年で素敵なゲームをリリースするには -[CEDEC2014] 消滅都市のつくりかた   半年で素敵なゲームをリリースするには -
[CEDEC2014] 消滅都市のつくりかた 半年で素敵なゲームをリリースするには -
 
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
目標を達成するための技術「PDCFAサイクル」を学ぶ 先生:永谷 研一
 
これぞIoT!
セラクのスマート洗面台
これぞIoT!
セラクのスマート洗面台これぞIoT!
セラクのスマート洗面台
これぞIoT!
セラクのスマート洗面台
 
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
スマート野菜工場とみどりクラウド (Open Source Conference 2014 Tokyo/Fall LT)
 
スマート野菜工場の先にあったみどりクラウド
スマート野菜工場の先にあったみどりクラウドスマート野菜工場の先にあったみどりクラウド
スマート野菜工場の先にあったみどりクラウド
 

Delphi のダメな所

  • 1. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. Delphi の残念なとこ! 2014/08/23 @pik Happy Creation, Play the Development!
  • 2. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. 自己紹介
  • 3. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. ※ツイートの引用について了承済み
  • 4. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. \ / \ 丶 i. | / ./ / \ ヽ i. .| / / / \ ヽ i | / / / \ -‐ ー __ わ た し で す -- 二 / ̄\ = 二  ̄ | ^o^ |  ̄ -‐ \_/ ‐- / / ヽ \ / 丶 \ / / / | i, 丶 \ / / / | i, 丶 \
  • 5. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. 普段は Android/iOS のアプリを組んだり、 Win/OSX の開発したりしてます。 Delphi で! twitter: @pik
  • 6. Copyright © 2014 SERIALGAMES inc.. All Rights Reserved. 先に言って おきます
  • 7. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 7 Happy Creation, Play the Development! はじめに Delphi 大好き
  • 8. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 8 Happy Creation, Play the Development! あくまでも 個人的な 見解です!
  • 9. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 9 Happy Creation, Play the Development! ★★ Delphi ランキング ★
  • 10. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 10 Happy Creation, Play the Development!
  • 11. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 11 Happy Creation, Play the Development!
  • 12. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 12 Happy Creation, Play the Development! 無名関数定義がめんどい! type TFoo = reference to procedure of object; procedure Bar(Foo: TFoo); begin end; begin Bar( procedure begin // DO SOMETHING end; ); end; 長ぇwww 訂正 of object いりませんでした!むしろ書けない! 短くなった!?……いや、そういう事でなく、 reference to 構文が長いって話です。 lyna 氏、ご指摘ありがとうございます。 https://twitter.com/lynatan/status/503193343338094593
  • 13. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 13 Happy Creation, Play the Development!
  • 14. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 14 Happy Creation, Play the Development! 循環参照めんどい! unit A; interface uses B; implementation end. unit B; interface uses A; implementation end.
  • 15. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 15 Happy Creation, Play the Development!
  • 16. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 16 Happy Creation, Play the Development! 文字列インデックスが! // 今まで Str := 'ABC'; Writeln(Str[1]) // 結果:A // NEWGEN コンパイラ Str := 'ABC'; Writeln(Str[1]) // 結果:B 0 based に!
  • 17. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 17 Happy Creation, Play the Development!
  • 18. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 18 Happy Creation, Play the Development! プリミティブがあるよ! // プリミティブ var Int: Integer; // 整数型 Car: Cardinal; // 符号無し整数 Chr: Char; // 文字型 Str: String; // 文字列型 Bol: Boolean; // 真理値 Set: set of TAnsiChar; // 集合型 などなど
  • 19. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 19 Happy Creation, Play the Development! レコードヘルパ! // プリミティブにメソッドを加える小手先技! type TStringHelper = record helper for String public property Chars[Index: Integer]: Char read GetChars; end; TIntegerHelper = record helper for Integer public function ToString: String; end;
  • 20. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 20 Happy Creation, Play the Development!
  • 21. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 21 Happy Creation, Play the Development! ローカル変数定義がめんどい! var Foo: Integer; begin // こんな風に書きたい! var Foo: Integer = 0; end;
  • 22. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 22 Happy Creation, Play the Development!
  • 23. Copyright © 2014 SERIALGAMES inc. All Rights Reserved. PAGE 23 Happy Creation, Play the Development! 名前が揺らいでる! Object Pascal ↓ Delphi Language ↓ Object Pascal 戻ったwww