こんにちは!Merpay Advent Calendar 2020 の7日目は、メルペイ エキスパートチームインターン の kateinoigakukun がお送りします。 この記事ではSwiftコンパイラ内部で使われている、最適化パスの正確性を保証するためのOwnership SSA(Static Single Assignment、静的単一代入)という技術がSwiftのメモリ管理を支え、パフォーマンス向上にどのように寄与しているのかを紹介します。 注意:この記事で触れるOwnership(所有権)とは主にメモリにおけるコピーと参照の管理の手法の名称で、題材にするテーマとしてSwift言語自体に備わる所有権ではなく、中間言語における所有権モデルのお話をします。 Automatic Reference Countingの歴史 Ownership SSAの背景を語る上で重要になってくるのがA
Swift is a general-purpose programming language that’s approachable for newcomers and powerful for experts. It is fast, modern, safe, and a joy to write. struct Binomial: Codable { var genus: String var species: String var subspecies: String? } let tree = Binomial(genus: "Pin", species: "oak") let jsonData = try JSONEncoder().encode(tree) // {"genus":"Pin","species":"oak"} struct ScientificName {
Appleは本日、プログラミング言語「Swift」をオープンソースプロジェクトとして正式に公開しました(Apple Press Info、MacRumors、9to5Mac)。 SwiftのソースコードはGitHubで公開され、ライセンスはApache 2.0オープンソースライセンスが採用されています(ランタイムライブラリは除外)。 オープンソース化されたコンポーネントには、Swiftのコンパイラやデバッガはもちろん、標準ライブラリやFoundationライブラリ、パッケージマネージャやREPLまで含まれています。 iOSやMac用アプリの開発用言語として着実に利用者が増加しているSwift言語ですが、オープンソース化によってLinuxなど他のプラットフォームでの利用も増加していくことになるのか注目を集めそうです。
Appleは今年6月のWWDC 2015でアナウンスした通り(動画の1時間09分 辺り)、プログラミング言語「Swift」をGitHubにてオープン・ソース(Apache License)として公開し、Swiftに関係したドキュメントやソースコードなどをまとめたコミュニティーサイト「Swift.org」を新たに立ち上げたとSwift Blogで発表しています。 Swift is now open source! We are excited by this new chapter in the story of Swift. After Apple unveiled the Swift programming language, it quickly became one of the fastest growing languages in history. Swift makes it
Appleが開発した独自のプログラミング言語「Swift」がオープンソース化されることが「WWDC 2015」で発表され大きな話題になっています。 Xcode - What's New - Apple Developer https://developer.apple.com/xcode/ iCloud - Apple Developer https://developer.apple.com/icloud/index.html Apple - Live - June 2015 Special Event http://www.apple.com/live/2015-june-event/ Appleが2014年のWWDCで発表したSwiftについての話。 Swiftを使って開発されたアプリたち。 そして「Swift2」が発表されました。 Swift2の特徴は「速さ」 「Swift 2」は
ココ数ヶ月Java書いてない一応Java Engineerの大橋です。 どこもかしこもswiftですね。 iPhone系アプリ開発を一番やりたくない理由がObjective-Cだったのですが、 swiftの登場でやる気が出ました。 swiftはObjective-CのLibraryも呼べるとの事なので、 今回はGoogle Cloud Endpointsで作成したObjective-Cのクライアントライブラリを swiftから呼び出すって話を書きたいと思います。 まとめ 最終的には以下のコードになります。 所感として Swift版だと楽ではある。 Objective-Cっぽさが残るので、Cloud EndpointsからSwiftのコードを作成して欲しい 元々のLibrary作成までの道程が長い(ゲフンゲフン Golangが好き です。 Cloud Endpointsの準備 まずSwi
とりあえずThe Swift Programming Language読んで、実際に自分で少し書いてみた感想。 諸事情でAppleにiOSデベロッパーとしてお布施していたので Xcode6beta落として少し書いてみた。プロジェクトスケルトンをswiftで生成できるので、そのコードを眺めたりしていた。 ファーストインプレッション Immutable脳の人が設計したっぽい。 スクリプト言語っぽい構文に、型注釈。これはGoとシンタックス上の設計思想が似ているんだと思う。 基本的にImmutableな設計でありながら、オブジェクト指向を採用しており、Scalaっぽいマルチパラダイム感がある。Scalaの人は好きになりそう。 型推論のおかげで動的型付け言語触ってきた人にも抵抗がない感じになってる。推論のおかげで静的型付け言語が動的型っぽくみえるのはHaskellとかOCaml方面の雰囲気。 LLV
WWDC2014で iOSアプリの新たな開発言語 「Swift」 が発表されましたね。Cocoa と Cocoa touch なので、厳密にはMacアプリも対象ですね。 [Swift - Apple Developer] https://developer.apple.com/swift/ とりあえず動かしてみたので、手順だけ簡単に書いておきます。 Xcode6 Beta をダウンロード ダウンロードした dmg ファイルを展開して app ファイルをアプリケーションフォルダへコピー ※ 既にインストール済みのXcodeとはファイル名が異なるので上書きにはならないけど、デフォルトのXcodeが Beta の方になるので要注意 起動しようとしたら、OS X 10.9.3 以降じゃないとダメ(自分は 10.9.2 でした)と言われたので OSをアップデード Xcode6 Beta を起動(初回
import Foundation class Greeter : NSObject { var name : NSString var identifier : UInt // -initWithName:identifier:に自動変換される!! // @objc(initWithName:identifier:)とすれば明示可能 init(name: String, identifier: UInt) { self.name = name self.identifier = identifier } func greet() -> Void { println("Hello, \(self.name). Your ID is \(self.identifier)") } }
Swiftを早速いじってみました。感想としてはすっごくRubyMotionみたいだな...という感じ。リファレンスひきながらでも言語仕様はどこかでみたことある系なので数日あれば慣れるような気がします。 ObjectiveCは基本なところがめんどくさいんだよね...と思ってRubyMotionを好んで使っている自分にはなかなか魅力的です。 ViewController.swift StoryboardにUILableとUIButtonを貼り付けて、アシスタントエディタをつなげたら下記のようなコードになりました。 接続に@IBOutlet、アクションには@IBAction func....と書くのですね。sender:id が sender : AnyObjectになっているくらいですかね。 UIButtonを押すたびに1.2.3.4とカウントアップしていくだけのコードです。 import U
はじめに AppleがSwiftという言語を発表した。 新しい言語をつくるのであれば既存の言語から良いアイディアは取り入れ悪いアイディアは取り入れないのが良い。 TwitterのTLを見ていると「Swiftは○○に似ている」という発言があったので、 どこら辺が似ているのかを自分の中で振り返ってみた。 (最初は「Swiftは○○のパクり」というタイトルにしたかったのだが、文全体を挑発的に書けなかったのでやめた) 間違っていることもあるはずなので、コメントは大歓迎である。 全部紹介するのは無理なので、とりあえず A Swift Tour から引用したい。 基本文法 基本文法はC言語系だ。現在の手続き型言語はC++やJava等これが主流である。 (主流でない文法はFORTRAN、BASIC、Pascalなどなど。関数型だとまた全く違う) Simple Values letやvarのように、型から
というクラス名になっていた。(SwiftSampleはプロジェクト名) CellのidentifierにNSStringFromClassをした値を使っていたからSwiftに書き換えたらうまく動かなくなってしまった…。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
The MIT License (MIT) Copyright (c) 2015, Giordano Scalzo Copyright (c) 2015, Packt Publishing Ltd Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Objective-Cに替わる新しいプログラミング言語Swiftの登場 WWDC2014で発表された新しいプログラミング言語Swiftでできることを紹介したいと思います。 今までとこれから Swift使うとこんなにコードが短くなるぜという例です。 今まで これから 確かにスマートですね。 言語ガイドをダウンロード iBookでガイドを読めますのでダウンロードしてみましょう。 変数の宣言 varは変数、letは定数 var myVar = 42 myVar = 50 let myConst = 42 コントロール if,switch,for-in,for,while,do-while let individualScores = [76, 43, 103, 87, 12] var teamScore = 0 for score in individualScores { if score >
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く