質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

3回答

6705閲覧

swiftの文法は、go言語,scala,C言語,JAVAのどれに近いでしょうか?

kento2543

総合スコア163

Scala

ScalaはJava仮想マシンで動作を行うオブジェクト指向型プログラミング言語の1つです。静的型付けの関数型言語で、コンパイルエラーの検出に強みがあります。

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2015/06/23 16:24

こんにちは。

普段はrailsを用いて、サーバーサイドの開発をしております。
(その他、インフラ周り等)

しかし、来月からiosのアプリ開発の仕事に入らなくてはいけなくなり、
現在swiftを勉強しております。

railsばかりやってきたので、文法の使い方を始め、慣れずに苦戦しております。
また、仕事にアサインされたものの、正直swiftに対する興味があまりそそられず、
学習へのモチベーションがあがりません。

他の言語で興味があるのはgo言語,scala,C言語,JAVAあたりだったため、
質問に至りました。

特にgo言語,scalaあたりは一番興味があるため、
そこら辺と文法の使い方が似ていたらいいなとか思っております。

C言語,JAVA等は、エンジニアとしてやっていくからにはいつかきちんと勉強したいなと思っております。

もしご存知の方がいらっしゃいましたら、
ご教示願えますでしょうか?

※この質問で求める結果が帰らなくても勉強しなくてはいけないということは重々承知しております。
ただ、もし、上記にあげました言語と関連性が強いのであれば、一緒に勉強してしまおうと思っております。

※上記の言語以外でも関連性の強い言語がありましたら、教えて頂けると幸いです。
(object-c 以外)

※また、嫌ならswiftの仕事断ればいいみたいなことはできませんので、ご了承願います。

以上、何卒宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

仕事で使うのがswiftなら、それに集中するのが一番だと思います。
ただ「それを言っちゃあ……」と、感じられるでしょうから、その話は措きます。

個人的に言語の学習で推奨するのは、系譜をたどることです。
SwiftはObjective-Cの後継で、
そのObjective-Cは、CとSmalltalkに影響されています。
(Smalltalkは難しいので、学習はJavaかRubyで代用するのがおすすめ)

C言語,JAVA等は、エンジニアとしてやっていくからにはいつかきちんと勉強したい

ともありますから、C → Java → Scala と言語の発展順に学ぶのがおすすめです。

シンプルなCから段階的に学ぶと、意外と覚えやすいです。
その3言語より、C++をマスターするほうが大変だと思います。

CやJavaはメジャー言語なので、覚え損ということにはならないと思います。
ScalaもJavaとの互換性や関数型指向から、将来性が期待されています。
でもべつにJavaの次がGo言語でも構わないと思います。

ポイントとしては、アルゴリズムの本の多くがCやJavaで書かれていて、
それらを読めるようになるのが、地味なようですが意外と大きいのです。

投稿2015/07/17 13:43

LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

私の考えでは、SwiftはScalaに似ていると思います。
まず、言語の生まれた背景が非常に似ていますね。

Scalaは、Better Javaとしてあくまで、JVMというプラットフォーム上で動きますが、Javaの開発で大きな問題となっていたものを解消し、加えて関数型の考え方が取り入れられました。ですが、Javaでつくられたライブラリなど既存の資産を利用することもできます。
Swiftは、この文脈でのJavaとJVMをObjective-Cと、iOSに置き換えて考えると、Scalaと非常に似た生い立ちと理解できます。

また、SwiftとScalaは文法的にも非常に似ています。
両言事とも型推論が強力で、型を指定するときも見分けがつかないほどですし、
オプションによる値のラップや、型によるパターンマッチなど関数型の考え方を多く取り入れています。
コレクションに対する処理なども同じように書くことができます。これに関してはJava8からOptionalやStreamの考え方が追加されているので、Javaとも共通しています。

SwiftやScalaは言語として新しいため、モダンな考え方がふんだんに取り入れられていますのでぜひ学習することをおすすめします。

投稿2015/07/17 11:51

編集2015/07/17 11:52
oteratail

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

その4つの中では、Go言語に似ています。
まあ、似ているからどうなるという話でもありませんが。
あと、Objective-C以外に関連性のある言語はありません。

投稿2015/06/23 16:46

編集2015/06/23 16:49
Stripe

総合スコア2183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問