「Swift」を含む日記 RSS

はてなキーワード: Swiftとは

2020-05-24

テレビ番組制作で働こうか迷っている

今、知り合いのつてでテレビ局制作下請け業務ADやらないかって話があってそれを引き受けるかどうか迷ってる。

大学在学時に精神病んだり多重債務が膨らんだことで卒業してすぐ実家に戻って2年くらいニートしてた。

ニートって言ってもぼちぼち家業の手伝いして、とりあえず利息をなんとかするために日雇い派遣に行って、

グループセラピーに顔出したり、町おこしやってる地元NPOボランティアしたりなんやかんやしてたけどどこにも属してなかったかニートニートだ。

同じ面子毎日顔を合わせていると不安でたまらなくなるから月に二日が限界だった派遣も、2年経つごろには週4~5で3つぐらいの現場をローテーションできるくらいには回復した。

そのころになってようやくとりあえずどこでもいいから腰を据えようと考えられるようになって週3のコンビニバイトと週2のホテル清掃を掛け持ちを始めた。

1年前にコンビニの時給が上がってからは週4にシフトを増やしてもらってそっち一本に専念して今もやってる。もうかれこれ4年になる。

そんな自分にもWebデザイナーになるという夢があった。

当時はやっていたテキストサイトなりに影響を受けてhtml自分で書いてみたのが最初で、

それからお遊びで自分サイトCSSで装飾をしたりCGIプログラムを書いてみたりしてた。それも高校生になるころにはやらなくなったけど。

それでもずっとWeb周りの情報は集めていて、はてな情報収集のためにブックマークを使い始めたのがきっかけだった。

2年のニート間中に、ようやく落ち着いて勉強をできるようになったので、

ドットインストールJavascriptPHPPythonRuby基本的な書き方をさらったのち、ちょくちょく自主制作をやるようになった。

いってもPHPPythonWordPressとC4DのXpressoくらいでしか使ってない。Rubyは一回TwitterBOTとミニゲーム作ったあとなんか好きになれなくて弄らなくなった。

ももともとWebに憧れがあったからかサイト制作Javascriptを使うということは結構長く続けられた。

通ってた大学メディア関係学部イラレフォトショもそれなりに使ってたからそんなつまずくこともなく、ちまちまポートフォリオ制作したサイト溜めてた。

あと関係ないけど図書館Java参考書借りてきて写経したり、XCodeSwiftに挑戦したりしたけどアプリあんま興味なくていつの間にかやらなくなった。

それもサーバー代が払えなくなったりHDDがおしゃかになって全部なくなったんだけどね。ここ最近PCも持ってなかったし。

なんとか最近になって惨めな田舎生活から飛び出すだけのお金が貯まって、定職につくことまでようやく考えられるようになって

ちょっと遅くなったけどだめもとでまた一から頑張ろう、まずはポートフォリオまとめていこう」と思ってた矢先にコロナショックで世の中おかしくなりだした。

自分不安でたまらなくて、コンビニバイトをしていることから小売業求人に応募しつつ、Web制作や、大学時代の経験から映像制作募集に片っ端から応募した。

ADの誘いを受けたのはこの流れで、受けた企業採用担当でない社員の方から別の企業を紹介されてそういう話になった。

履歴書も見たしもう一度会ったらもう内定を出すと言われている。

からさまに怪しいと自分も思う。放送業界ハードさは周知の通りであるしか自分にはトラウマがある。

大学卒業直後に第二新卒での就職を目指して3か月だけ就活をしていた時期がある。

そのときに「テレビ制作やってる部署中途採用してあげるから一か月後に荷物まとめて東京に出てきて」と言われ結局自分はそれを蹴った。

当時はほぼ無収入なのに借金の返済に月6万かける生活不安が大きかったのと、

クライアント代理店から依頼された案件企画から制作までじっくり取り組んでいきたかったので放送業界はやや不本意だったかである

でも今になればあのとき飛び込んでいれば違った未来があっただろうと後悔する気持ちがある。

少なくとも今のようにぼんくらとして馬鹿にされ近所から白眼視されながら惨めに孤独に片田舎生活するようなことはなかったのではないだろうか。

今の自分映画悪人」の妻夫木の役どころや「レズ風俗」の永田カビみたいなもんである

現在はその企業以外に2社映像制作会社(放送関係ではない)の面接選考が進んでいてそれも自分を迷わせる原因だったりする。

最近はてブ話題からいろいろ考えてしまうんだけど、現実逃避するように誰に見せるわけでもないポートフォリオサイト休日に作り続けてる。

こうやってずっとPhotoshopコードの書かれたエディターと格闘していられたらいいのに。

2020-05-21

初心者向け】プログラミング言語人気TOP20簡易解説

概要

プログラミング経験からプログラミング勉強してみたい、でもどのプログラミング言語をやればいいのかわからない」というような悩みを聞くことがあるので、https://redmonk.com/sogrady/2020/02/28/language-rankings-1-20/ に載っている人気の言語TOP 20について、未経験者が最初に学ぶのはどの言語が良いかという観点簡単解説してみます

対象読者はプログラミング経験者なので、なるべく難しい言葉を使わないようにしたつもりです。また、正確性よりもわかりやすさを重視しているので何かしら間違っているかもしれません。ご留意ください。


ランキング

1位 JavaScript

Webブラウザの上で動くプログラミング言語。元々ただの文書しかなかったインターネット世界に、グリグリ動くページを作りたいという欲求により生まれた。JavaScriptのおかげで今のWebページグリグリ動きまくりである

元々HTMLちょちょっといじる為だけのものだったが、どんどん進化を続けて今は一つの超人プログラミング言語である。今ではブラウザ上でなくても普通に動かせる(Node.jsという)ので様々な用途で使われている。

ブラウザ上で動くプログラミング言語基本的JavaScriptしかないので、JavaScriptはすべてのWebプログラマが学ぶ必要があると言っても過言ではない。

ちょっとしたプログラムを書いてすぐブラウザ上で動かせるので楽しい。そういう点ではプログラミング入門に適していると言えるかもしれない。


2位タイ Python

機械学習を始めとしたデータサイエンスの分野で激烈に人気のある言語理由としてはNumPyとかTensorFlowのようなライブラリが充実しているというのが大きく、資産がたくさんあるのでこれからも使われ続けるであろう。

Webも作れるが、日本ではWeb系の求人は少ない気がする。

言語としては、誰が書いても簡潔で読みやすコードになる傾向にあり、小さいプログラムを書くにはいい感じである米国ではプログラミング教育Pythonがよく使われているという話も聞くし、初心者プログラミングを始めるのにはいいのかもしれない。

将来AIデータサイエンスをやってみたいと思うのであればPythonから始めましょう。


2位タイ Java

ランキングでは常に一位に近い順位をつける言語Javaができた当時は色々と革新的だったらしく、組み込み業界からWebまで流行りまくっていた。今でもその名残か使っているところは多い。過去資産プログラマの数が多いのが一番の理由だと思う。AndroidアプリJavaで書く(もしくはKotlin)。

実行速度が速く、また下位互換性がしっかりしているので過去に書かれたコードが新しいマシン上でも動きやすいのが長所短所としては、歴史ある言語下位互換性を保っているため文法が古い感じがする。タイプ量も多くなるし、学習コストJavaScriptPHP, Ruby, Pythonあたりに比べると高い。

正しく使えば強力な言語だが、日本のクソSEもどきは全員(自称JavaエンジニアであることがJavaが毛嫌いされる理由の一つになっている[要出典]。いわゆるGAFAJavaをかなりヘビーに使っているので要は玉石混交ということである

Androidアプリ作ってみたいというならJavaからはじめるのはアリ。


4位 PHP

Webページを作るためだけに生み出された言語プログラマの数が非常に多い。日本求人が一番多いのはJavaPHPであろう。

初心者でもとっつきやすく、すぐに動くプログラムを作れるので入門に使われることも多い。学習コストの低さはトップレベルであるしか基本的には古くてダメ言語とみなされており、PHPで作られたWebサービス脆弱性が多いという都市伝説もある。真実は闇の中である

近年のバージョンアップ比較的良い方向に向かっている(と個人的には思う)ので、選択肢としては意外と悪くないかもしれない。


5位 C#

Microsoftが生み出した言語で、.NETというプラットフォームを使ってWebサービスを、Unityというゲームエンジンを使ってゲームを作ることができる。

最近有名なのはUnityで、今やほとんどの3Dソーシャルゲーム(の一部分)はUnityで作られている。そう考えるとC#プログラマ結構いそうだし将来もある程度安泰かもしれない。もちろん.NETも広く使われている。

ただし.NETUnityも触らない人にとっては基本的に縁のない言語である

なんかゲーム作ってみたいかもなーと思う人はC#から始めてもいいんじゃないでしょうか。


6位 C++

C言語に色々な機能を足しまくってできた巨大な迷宮のような言語言語仕様は複雑怪奇だが実行速度は全プログラミング言語中でも最速レベルなので、パフォーマンス重要な開発において使われる。アプリサービスというよりは、それらを作るためのライブラリプラットフォームなどを作るときに使われることが多い。Web系の会社でいうとGoogleなどは主にC++を使っている。

基本的には初心者が触る必要はない。競技プログラミングを極めたいとかならC++からはじめてもいいかもしれない。


7位タイ Ruby

このランキングの中で唯一、日本人によって作られた言語。作者のまつもとさんは世界有名人である。ちなみに島根県出身、在住。

プログラミングを楽しくすることがモットーらしく、確かに書き味は良い。また作者が日本人なこともあってか日本情報が多く、情報収集という点ではとてもやりやすい。

Ruby on RailsというWebサービスを作るためのフレームワーク世界的に大ヒットしたため、必然的Ruby知名度も上昇した。少し前まで日本Webスタートアップは猫も杓子もRuby on Railsといった様相であった。今は少し落ち着いたようだが今も人気は根強く、Webプログラミングスクール等ではだいたいRuby on Railsを教えているとかいないとか。

Webに興味があるのならRubyから始めるのが一番無難選択肢と言える…のか?まあ悪くはないと思う。今でも需要は多い。スクールに行きたいのであれば黙ってスクールカリキュラムに従いRailsをやりましょう。


7位タイ CSS

これは他の言語とは毛色の違う言語である。というかCSSプログラミング言語と呼んでいいのだろうか?

CSSHTMLを装飾するためのものである。字に色をつけたり、背景を変えたり、レイアウトサイズを変えたりするのは基本的CSS役割である

すごく大雑把にいうと、HTMLで表示する内容(文章画像)を定義し、CSSでその見た目を整え、JavaScriptで動きをつける。というのがWebサービスの”見た目”を作るやり方である

なので、Webに興味があるのであればある程度はCSS知識必要である。が、これ単独で学ぶようなものではない。Webサービスを作る時についでに調べて少しずつ覚えていけば良い。


9位タイ TypeScript

TypeScript比較的新しい言語で、JavaScriptさら拡張したものであるMicrosoftによって開発されている。

プログラムにはデータの型(Type)というものがある。例えば「1」や「2」は数値型、「あいうえお」は文字列型といった具合である。大まかに言うと、この「型」に対して厳しい言語は型チェックによりバグの混入を防ぎやすいがプログラムを書くのが大変、というかコード量が多くなる。型が緩い言語サクサクかけるし短く書けるがバグを生みやすプログラマの力量が問われる。ランキングの中だとJavaScript, Python, PHP, Ruby, Perlあたりは緩く、Java, C++, C, Swift, Go, Kotlinあたりは厳しい。

そんな中、世で広く使われているJavaScriptの型チェックが緩すぎるのでもっとちゃんと型をつけたい、そんな要望を叶えるのがTypeScriptである基本的JavaScript理解している人間が使うべき上級者向け言語というのが現状なので、初心者が始めるには適していない。

ただしこの先主流になっていく可能性は大いにあるので、どこかのタイミングで勉強してみても損はしないと思う。


9位タイ C

C言語基本的OSを作るための言語であるOSというのはWindowsとかmacOSとかLinuxといったもので、マシンを動かすための基盤となるソフトウェアであるAndroidスマホにはAndroid(という名のOS), iPhoneにはiOSが載っている。コンピュータ基本的OSがあって初めて動かすことができ、OS提供する機能を使ってブラウザスマホアプリなどを動かせるのである

というわけで、初心者が学んで実用的なものではない。ただしC言語というのは世の中の様々なものの基盤になっており、他言語文法C言語から拝借しているものが多い。例えばC言語をある程度勉強していればJavaPHPなどはなんとなく雰囲気で書けてしまったりする。

そういうわけで、コンピュータサイエンスをこれからちゃんと学んでいきたいという人(大学生とか)はC言語から始めるのもいいと思う。ちなみに筆者は初めて書いた言語はCであるが、意味理解できるまでに2年かかった。才能がないとこうなるので注意。


11Swift

SwiftAppleによって作られたAppleのための言語であるiOSアプリiPhoneアプリと言い換えても良い)を作るためだけに存在している。

言語自体は他と比べて新しいため文法機能イケてる雰囲気があるので基本的はいいのだが、iOSアプリ以外で使っている人は多分世界で5人くらいしかいないと思う。なのでiOSアプリに興味がない人はやめておきましょう。iOSアプリを作りたいあなたは他に選択肢はない。Swiftをやりなさい。


12Objective-C

Swiftが生まれる前はiOSアプリを書くためにObjective-C必要だったため、多くの人がこの言語を使っていた。が、今はSwiftがあるので、古くからあるObjective-Cアプリメンテナンスする時以外に使う機会はない。名前すら覚える必要がないので存在を忘れてしまって構わないが、これだけ順位が高いということは多くの企業がいまだにObjective-Cで開発し続けているということであり、ニッチ需要はこれからも残るのかもしれない。


13位タイ Scala

Scala関数型言語と呼ばれる言語の一つ。Javaの親戚みたいなものなのでJavaとの連携が容易であり、上手く使えば性能も出るしコード量も少ないしバグも少なくて最高、な感じらしい。が、その分難易度が非常に高いので初心者が手を出すものでは絶対にない。どんなに早くても他に二つは言語を覚えてから勉強しましょう。Javaを覚えてからやるのがベター


13位タイ R

R言語データ解析用のプログラミング言語である

正直ほとんど書いたことがないのでよくわからないが、ビッグデータというワード流行りだした頃はデータ解析用途でかなり流行っていた。その後機械学習AIブームが来て、今でも現役で使われてはいるがPythonがどんどん勢力を拡大しているので少し目立たなくなってきた、というのが個人的な印象である。まあプログラミング初心者最初にやるようなものではないことだけは確かである


15位タイ Go

Go言語比較的新しいGoogle製のプログラミング言語で、Googleのように巨大なシステムでの使用目的に作られたものであるしかし実際には様々な企業が利用しており今一番勢いのある言語と言ってもかもしれない。

他のプログラミング言語の良い点や悪い点を参考に設計されており、実行速度の速さと生産性プログラムの書きやすさ、読みやすさ)を両立できるような言語になっている。ただし、機能を増やすのではなく本当に重要機能だけに絞るという思想があるようで、他の言語に慣れていると機能の少なさに不便を感じるかもしれない。

学習コストが低いという点では最初に学ぶ言語として適しているかもしれないが、GoだけでWebサービス等をサクッと作れるのかというと微妙なので、アウトプットを出しにくいというのはあるかもしれない。

二番目や三番目に学ぶ言語としてはオススメ


15位タイ Shell

シェルというのはテレビなんかでハッカー的な人間PCを開いて謎の黒い画面に白い文字を打ち込んだりするアレである説明としては正確ではないがまあ大体そんなもんである。何が言いたいかというと初心者最初に学ぶとかそういうものではない。しかし実際に開発の仕事をやるとシェル知識はあったほうがいいし、シェルに多少詳しくなるとPC上でテキスト操作をしたりファイルをいじったりというのが便利にできるようになる。ただし(通常は)極める必要はない。

Shellと言っても実際にはbash, csh, tcsh, zshなど色々あるのだがそれらをひとまとめにしてShellとなっているようだ。


17PowerShell

PowerShellは上のShellの親戚みたいなもので、ShellがMacLinuxで動くのに対しPowerShellWindowsで動く。そんだけである。あと正直あまり知らない。


18位 Perl

ランキングの中ではかなり昔からある言語で、サーバーと呼ばれるマシンには大体Perlが入っている。そのくらい市民権を得た超有名言語で、C言語C++で書くほどでもない小さなプログラムはとりあえずPerlで書く、というくらいには広く使われていた。インターネット初期はほとんどのWebサイトはPerlで書かれていたとかいないとか。PHPなどの登場はその後である

今でも広く使われてはいるが、RubyPythonPerlの後継的な位置付けであるため、初心者が新しくPerlを学ぶメリットというのはあまり思い浮かばない。何か特定目的があるのであればいいと思う。


19位 Kotlin

Kotlin簡単に言えばBetter JavaであるJavaをもうちょっといい感じに書きたいという気持ちで作られた言語で、Scalaと同じくJavaの親戚のようなものである

ランキングの中ではSwiftと並んでかなり新しい部類。AndroidアプリKotlinで書けるようになったことがきっかけで人気が爆発的に上昇、今ではWebの開発にも使われていたりする。

とは言えまだまだ新参者といった感じで、ドキュメントなどの情報も他の言語に比べると物足りないので初心者には厳しいかもしれない。

言語自体はとてもいい感じなので、もう少しコミュニティ成熟してくれば最初に学ぶ言語選択肢として有力になるかもしれない。


20Haskell

HaskellScalaと同じく関数型言語であるScalaJava的な書き方でも動くの対し、Haskellは「純粋関数型言語」と呼ばれ、ランキング中の他の言語とは一線を画した書き方になる。どう考えても初心者にはオススメしない。少なくとも他に二つは言語マスターしてからやりましょう。


総評

なんとなくWebに興味がありそうならJavaScriptRubyもしくはPHPAndroidアプリに興味があればJavaiPhoneアプリに興味があればSwiftAIデータ分析に興味があればPython3Dゲーム開発に興味があればC#。この辺りをやりましょう。

特に目的がないのであればフィーリングで選んで大丈夫ですが、やめておくべき言語というのはあるのでその辺だけ参考にしてもらえれば。

なお筆者はただのヘボプログラマであり、大好きな記事http://www.mwsoft.jp/column/program_top10.html) の現代版かつより初心者向けなものを書いてみたいと思ってこの記事を書きなぐった次第である。あまり真に受けないよーに。

2020-05-06

anond:20200505233945

VBAExcelとか触ってるならPythonSelenium使ってWebシステム自動化や、PyAutoGUIで普通アプリ自動化とかやってみて欲しい

Pythonは少し癖があるけど難しい言語ではないし(VBAとはかなり毛色が違うとは思う)、ちょっと手間かかるけどPyCharmとかVSCodeとかの環境整えて補完やテストデバッグバージョン管理のやり方覚えると、VBAよりもイライラが驚くほど減ると思う

あるいは、プログラミング自動化好きな人と道具的なツールアプリを作るのが好きな人自己表現好きな人がいるように思えて(あとゲーム作り好き)、自動化好きな人ツールアプリを作るのが好きな人結構好みが似ていると思うからPCソフトを作るならC#+VisualStudioiOS/AndroidソフトならSwift/KotlinWebアプリならJavaScript(と今ならVueとか?よく知らない)とかを覚えると面白いかもしれない

自動化転職するのは難しい気がするけれど(事務系の資格持ちとかならスキルとして強いと思う)、アプリ開発ならかなり求人多いし、零細が多いか年収気にしなければ高卒でも就職は出来ると思う

2020-04-19

[] [増補改訂関数プログラミング実践入門

コロナ自粛勉強中。以前買ったHaskell本を読み直している。落ち着いて読めば結構理解できる。

https://gihyo.jp/book/2016/978-4-7741-8390-9

この本の概要

現場の方々に向け,関数プログラミングエッセンスを厳選解説した入門書

関数型言語Haskellを用い,基本からJava 8/C/C++/Python/JavaScript/Rubyをはじめ各種命令言語との比較オススメの開発/設計テクニック等を平易に解説

改訂版ではGlasgow Haskell Compiler 8ならびに新機構のStackage/stackへの全面対応関数型言語由来の他言語機能解説章(第8章)の新設(Swift/Go/Rust/C#等の例も紹介)をはじめ実践開発に役立つ解説を増強し,関数型言語でも命令言語でも活かせる「使える基本」を凝縮しました。

こんな方におすすめ

2020-03-17

anond:20200317154313

あんまり開発に興味ない。

swiftコンパイラもクソ遅い、出来が悪いって評判だったし。

2020-03-01

MtGプログラミング言語の色

このプログラミング言語MtGだと多分この色の組み合わせだろう。

みたいなのをまとめたら次のようになった(TIOBEのランキングトップ50)。

何かしっくり来ない箇所があるが原因が分からない。

後半は知らない言語もあって怪しい。

順位プログラミング言語色の組み合わせ 内訳
1 Java アブザン 白黒緑
2 C ゴルガリ 黒緑
3 Pythonティムール緑青
4 C++ ジャンド 黒赤緑
5 C# 4C(赤欠色) 緑白青黒
6 Visual Basic .NETレズニア 緑白
7 JavaScript ボロス 赤白
8 PHPグルール 赤緑
9 SQL 無色
10Swift 4C(緑欠色) 白青黒赤
11Go ゴルガリ 黒緑
12Assembly language 黒単
13 R ゼット 青赤
14 D グリクシス 青黒赤
15 Ruby 赤単
16 MATLABゼット 青赤
17PL/SQL 無色
18 Delphi/Object Pascal アゾリウス 白青
19 Perlラクドス 黒赤
20Objective-C エスパー 白青黒
21 SAS アゾリウス 白青
22 Visual Basic 緑単
23Dart ジェスカイ 青赤白
24Scratch 白単
25 Scala 4C(赤欠色) 緑白青黒
26 Groovy ナヤ 赤緑白
27 Transact-SQL 無色
28F#バント 緑白青
29 Rust 4C(白欠色) 青黒赤緑
30 COBOL オルゾフ 白黒
31ABAP アゾリウス 白青
32 Lispシミック緑青
33Kotlin 4C(緑欠色) 白青黒赤
34 Logo 白単
35 RPG ディミーア 青黒
36 Lua 緑単
37 Fortran スゥルタイ緑青
38 PowerShell ジェスカイ 青赤白
39 Ada ディミーア 青黒
40 LabVIEW ディミーア 青黒
41 Erlang 緑単
42 Julia ティムール緑青
43 ML 青単
44 Schemeシミック緑青
45 Haskellエスパー 白青黒
46 TypeScript ジェスカイ 青赤白
47 OpenEdge ABL アゾリウス 白青
48 LiveCode アゾリウス 白青
49 PostScript 無色
50 ActionScript ジェスカイ 青赤白

見返してみるとおおよそ次のルールに従って決めているような気がした。

そうしてしまうとMtG関係無いのでは…。それが原因なのではないか。後は緑の判定があやふやな気もする。

イメージ
レイヤ初心者向け
浮世離れベンダー
レイヤ、黒魔術
速い、先進
基盤、グル
無色 道具

マルドゥ(赤白黒)が無かった。

2020-02-27

偏見に満ち溢れた俺の書いたことのあるプログラミング言語説明

1つにつき3行で書いた、言語の話は炎上しがちだから匿名で。

C言語:

現代だと電子機器プログラミングで使うよ!

Linuxとかサーバープログラムの内部で使われることが多いけど、

自分で手を加えることは少ないか安心して!

C++:

実行速度が超高速なのと複雑怪奇な構文が特徴だよ!

ゲームプログラミング動画編集ソフトといった高いパフォーマンス

求められるシステムで使われるイメージがあるから最初は近づかなくても良さそうだね!

C#:

Unityゲーム作る時に使うよ!

比較的書きやすくて勉強になるからオススメ出来るけど、

Microsoft にズブズブな印象が強いのがちょっと気になっちゃうね!

Java:

Androidアプリとかサーバーアプリ作るのに使えるよ!

勉強やすくて個人的には良いと思うけど、

現代だったら他の言語のほうが書きやすくてオススメかな??

Scala:

Javaの強化版で、サーバーアプリ作るのに使えるよ!

関数型っていう意味不明概念が混ざってるから

最初は近づかないほうが懸命だと思うよ!

Kotlin:

Javaの強化版で、Androidアプリとかサーバーアプリ作るのに使うよ!

もしAndroidアプリを作るなら最初にこれを学ぶと良いか???

とにかく書きやすいし書いて気持ちが良いし、名前可愛いね!

Objective-C:

iosアプリを作るのに使えるよ!

今はもっと書きやす言語があるから学ばなくても良いけど、

iosアプリ作ってる時にどうしても触らなきゃいけないときが来るんだよね...。

Swift:

iosアプリを作るのに使うよ!

もしもiosアプリ作りたいんだったら実質これしか選択肢は無いか覚悟してね?

書きやすい方だから身構えなくても大丈夫だけど、Macが無いと書けないから気をつけて!

PHP:

サーバーアプリ作るのに使えるよ!

個人的にはあんまりきじゃないかなって思うけど、

PHPお仕事はいっぱいあるからこれが出来ると飯が食えて嬉しいね

Ruby:

サーバーアプリ作るのに使えるよ!

学びやすいし物を作る時のスピードも早いから、

最初に学ぶ言語としては結構いかもしれないね

Python:

サーバーアプリとか人工知能(笑)とか作るのに使えるよ!

個人的には本当に好きじゃないけど、仕事人口も多いのが特徴だね!

おっぱいと語感が似ててなんだか幸せになってきたね!

JavaScript:

webアプリサーバーアプリを作るのに使えるよ!

環境を整えたり流行を追ったりするのがちょっとだけ面倒くさいけど、

webアプリ選択肢が他に無いから仕方なく使ってるよ!

Go:

サーバーアプリを作るのに使うよ!

Googleで開発された言語で、書いてるとドーパミンが出るよ!

僕が大好きな言語なんだけど残念ながら仕事は少ないね、本当に残念だ。

Lua:

ほとんど見かけないのに何故かたまに書かざるを得ない事がある言語だよ!

既存アプリケーションのプラグインを書く時に強制されたりするかな?

言語自体は単純だから、使う時が来たら覚えるぐらいでいいと思うよ!

Perl:

遥か昔に広く利用されていた言語だよ!

今学んでも古い会社しか使いみちが無いから、

令和に新しく学ぶ必要はないかもね!

BASIC:

プログラミング初心者が触りがちなイメージがあるよ!

きっと今でもどこかの世界では使われてるんだろうけど、

令和だったら他の言語も学びやす環境が整ってるから学ばなくて良いかもね!

Haskell:

正直に言うと何に使われてるのかイマイチからないんだ、ごめんね。

関数言語っていう(僕にとっては)難しい概念で、

自分を更に高めたくなったら調べてみるのも良いかもね?

2020-02-23

2020年プログラミング言語解説

Ruby

まつほろひとゆきが作った日本産コンピューター言語パールというコンピューター言語を元に作られていてWebサービスを作るためのフレームワークを搭載している。代表的WebフレームワークtDiary

C

デニス立地さんがNTTで開発した言語マルチクスというOS作成するために作られた。わざと複雑な言語仕様にすることで自分役職ポジションを守ろうとしていたが、思った以上に世の中の人間はこの言語を使いこなしてしまい、超有名な言語になってしまった。スーファミゲーム制作にさえ使えなほどの超高級言語

まじないと呼ばれるプリプロセッサでの書き換えが必要な謎の文字列を埋め込む必要があったり、言語仕様曖昧な部分も多く、同じソースなのに実行環境によって動きが異なる、欠陥言語である。(32bit向けプログラムが64bit環境動作しないなど)

C++

オブジェクト指向言語。すべてのオブジェクト指向言語はこいつから始まった。

主にWindows上で動作するゲームを作るための言語。今ではUnityとか色々なゲーム開発の環境とかあるが、結局はパフォーマンスとか考えたらC++使うことになる。

代表作はOpenGLDirectX、Window10、LibreOffice など

Java

JavaScriptから派生した言語。読み方は(ジャワジャワ島のジャワ。)。もともとはOracle創始者博士趣味作成して、現在Oracleデータベースの基礎となるテクノロジーアプレットという実行するための専用プログラムインストールしないと、Javaで作ったプログラム(.classファイル)は動作しない。マークコーヒーだと思われがちだが、紅茶(ジャワティー)である

アンドロイドOS作成するためにも使われており、アンドロイドOSカーネルJava制御されている。そのため定期的にGCが走るので、アンドロイド端末は定期的に動作を停止することがある(いわゆるプチフリーズ)。

対策するためにはGC戦略見直してヒープ領域サイズメモリに乗せるキャッシュサイズなどの調整が必要であるが、げんざいのGoogleにはこれらを調整する人員はすでにいない。

このように業務データベースから携帯電話まで幅広く使われているので、Java技術があっても市場価値殆どないと言われている。(みんな使えて当たり前)

PHP

晩年政界への進出を目論んでいた松下幸之助が、未来社会を見据えて開発した言語。主にWebアプリケーション作成するために使われている。PはパナソニックのP。を略してPHP

かんたんにシェルコマンドを実行できたり、クエリストリングに代入した値を直接グローバル評価できたりするなど、洗練されていてとても便利な言語である

HTMLメール本文の中にもPHPの処理を書き込むことができる。

この世のすべてのサーバーに実行環境存在するので、PHPコードさえあれば、コンパイル不要でどのような環境でも動作する。

C言語の100倍生産性が高く、WikipediaFacebookSlackなどの超一流のサイトサービスで大量のアクセスを捌いている。

WardPressと呼ばれるフレームワーク(全世界Webサイト3分の1以上はWardPressで作成されている)を作成している言語であり、この言語なくして今のWeb存在していない。

データベースとも親和性がある、などと言われることもあるが特に根拠はない。

Go

韓国人棋士を倒したAIに特化したプログラム言語Googleが開発しており、もともとはDartという名前だったが、汚いという理由でなまえがGoに変わった。そのため現在Dartという言語存在していない。

AIに特化しているというだけあり、低レイヤむけの実行ファイル作成する必要があるため、コンパイル必要ではあるが、だいたいどの環境向けのバイナリも生成することができる。

デフォルトディープラーニングを使うための機能を持っていたり、プログラムを並列実行するための機能が備わっているので、コア数の多い環境で高速に動くプログラムを作りやすい。

JavaScript

Javaの元になったプロトタイプベースオブジェクト指向言語。読み方はジャワエスクリプト。W3Mというブラウザの上でインタラクティブWebサイトを動かすために作成された言語。もともとブラウザの上で動くための言語だったが、後にSafariブラウザに搭載されていたV6エンジンというJavaScript言語の実行エンジンを分離してNPMというJavaScriptを直接実行できる環境となった。

それ以降JavaScriptはブラウザ以外にVRゴーグルの中などで動くようになった。

並列プログラミング不可能な作りのため、コールバックを多用して、スパゲッティコードを量産することができる。

NPMを使う奴らは、JSブラウザ環境で使われる言語であることを全然考えてないため、WebpackとかBabelといった謎の開発環境をシコシコ積み上げている。いつかその塔は爆発し崩れ去ることになるであろう。

jQuery

Javaと同じくJavaScriptから派生した言語Javaとは互換性は無いが、JavaScriptの上位互換があるため、JavaScriptのコードをそのまま実行することができる。

$マークから始まる命令のみで構成されているとても縁起のいいプログラミング言語。おもにパララックスなどを実現するために利用されていて、WardPressなどのドライバとしても使われている。

JavaScriptの改良版であり、現在JavaScriptと言われているプログラム言語の99%はjQueryのことである。そのため現在慣習的にJavaScriptと呼ばれているもののほぼ全てはjQueryである

jQueryを覚えればJavaScriptは覚えなくても良い。などと言われるが、正確にはjQueryを覚えた頃にはJavaScriptも覚えている。というのが正確である

TypeScript

JavajQueryなどと同じくJavaScriptから派生した言語Microsoftが開発した関数型言語。開発時はF#(エフシャープ)というコードネームだった。

型に特化した言語であり、Microsoft製のVSCodeというIDE環境しか開発、実行が出来ない。(ただしMacLinux上でも動作可能)

TypeScriptを動かすにはサーバーVSCodeインストールする必要があり、言語IDEバージョンアップも多いため、メンテナスンスが困難である

Swift

iOSを作るために開発された言語関数型言語

前進となるObjectiv-Cという言語が、気持ち悪い構文であったため開発者が不足しており、このままではOSメンテナンスもままならない、という理由最初バージョンわずか14日間で作られた言語

Apple製品の上でしか動作しない。ビルドが非常に遅く一日に60回が限度である

LISP

((最強の言語。全ては関数であり、値であり、式である。)

(制御構文も、(一種の式であり、値である。)))

2020-02-19

SwiftのCombineがしっくりこない

eraseToAnyPublisher()で全部AnyPublisherにして使うのが作法みたいだけどそれってどうなの。

それRxで言うasObservable()でしょ?

そしてAnyPublisherだけじゃそれが1発飛んで終わるのか継続的ポンポン飛んでくるのか型からじゃ分からないでしょ。

その点RxはObservableをはじめ、SingleやMaybeやCompletableを普通に取り回してるよね。

あいう感じじゃ駄目だったの?分かりやすいじゃん。

っていうか作法って何よ。いや作法は俺が言ってるだけだけど、ちゃんとした理由なくない?例えばFuture作ったらそのまま返せば良いじゃないですか。どうして駄目なんスか。

Rxに比べたCombineの利点ってエラージェネリクス定義できるってとこだけじゃない?SwiftUIとの連携は別として。

Combineの方が速いらしいけど...そもそもRxSwiftで速度が問題になることなんてないし。

ああもう、こんなこと言ってたらeraseToAnyPublisher()自体にも腹立ってきたわ。なんであんな長ったらしいもんがそこら中に溢れてんねん。

バカみたいでしょう?素直にRxに従っとけばよお。中途半端にパクりやがって。

2019-12-31

anond:20191231142017

社内にObjectiveCの経験しかいないのに

経験者にSwiftやらせて完成しないか

最終的に経験者がObjectiveCで作ることになったりしたやで

2019-12-29

モバイルアプリハイブリッド実装で後悔したもろもろ

モバイルアプリ実装と言えば主力はKotlinSwift(Objective-C)だけど、簡単な作りであればcordovaベースフロントエンド開発ライクに進められる。

そもそもライブラリ選定には関わっていなかったものの、便利と思って使った結果後悔した思い出のお話

WebViewベースである以上、イベントレンダリング系統ネイティブに劣る

特にiOSが顕著だった。

Angular, Vue実装していたけどレンダリング系に属するイベント盛りだくさんの場合

結果的ネイティブ実装したほうが楽だしレンダリングの面で有利。

そもそもcordovaからと言ってネイティブ知識がいらないわけじゃない。

標準サポートしているプラグイン群でできることは限られてくるし、そのまま突き進むならネイティブ実装知識必要になる。

フロントエンド開発できない奴が作れる代物ではない

これは当たり前だけど…

JSパッケージングだったりCSSビルドが組めないとなると逆にコスト高。

Angularベースで進めていたときにそれは起こった。

そもそもNode.jsビルド根本的に理解してない奴がプロジェクトを作ったせいで

JSパッケージビルドもされない、jQueryを突っ込まれるなどひと悶着あった。

3年前くらいだったけど既にTypeScriptも出てたし、何故そうしなかったのか理解できない。

結果ロードが激重になった。そりゃそうだ、minifiedされてないのだから

用法用量を正しく守って使わないと、後で面倒になる好例だった。

ビルドが意外と面倒で手間

大概は専用プラットフォーム上でビルドしていくがこれがくせ者。

ブラウザIDE(という名のただのテキストエディタ)が使えるけどそもそも構成管理できない。

ローカルビルド乖離するし、ブランチすら切れないのだから本人以外は触れないシロモノになってくる。

ビルドのためにアップロードするんだがこれまた賢くない。

別端末でビルドしようとすると同名の新しいプロジェクト作成される。

ここまでくるともう触りたくなくなる。ただ、触らないわけにはいかないので何とか整合が取れる状況にした。

さらに言えば、ビルドが終わってステータスが見れるが、内訳が見れるのはそのタイミングだけ。

これはマジで止めてほしい。殺意が湧くレベルでやめてほしい。

多分、海外で公開したプラットフォームをそのまま持ってきてるんだと推測しているが流石にこれは悪意しか感じない。

やろうと思えばそりゃローカルビルドはできるけれども。

クライアントOSで動くビルドツールが使い物にならない

ただのCLIバックグラウンドで実行するだけのGUIラッパーと化している。

かといってlintを掛けてくれるわけでも無し。

個人的に要らないし今後は使わない。

WEB RTCを使うとiOS互換に苦しむ

突き当たったのはWebSocketを使うシーンが出てきたとき

ライブラリで何とかする方向で進めたかったけどそもそもwebpackビルドにすら対応していなかった。

件のAngularベース場合もっとひどくてクソラッパーを作りやがったせいで依存度が激高になった。

ちなみにネイティブはそれぞれにサポートするライブラリが出ていて、最新バージョンに向けてきちんとメンテナンスされている。

その辺はJS世界の闇に降れた瞬間でもあったりした。

総括

根本的にiOS側の実装レスポンシブ的なレイアウトが作りにくい現状を鑑みて、

WEBベースで新商品などの通知をしたい、残りは情報の閲覧のみでSPA構成的なシロモノで作りたい。

こんな需要には使ってもいいんじゃないかと思う。相当なレアケースだけれども。

いいところは確かにあって、CSSデザインの調整が効くところは大いに評価できる。

これがまたネイティブ実装だと面倒。特にiOS。お前はダメだ。

結局進めていくとネイティブ実装知識を求められるのだからネイティブ実装したほうが良くね?と言ったところ。

ユースケース的に超単純要件アプリを作りたい、かつ、ユーザに何かpush知的なやつを入れたいって場合は使ってもいい気がする。

うそ大手でもなければ無い気がするけど。

2019-12-19

anond:20191219124919

世界的に情報産業が隆盛を極める中で

日本は、世界でもトップクラス情弱国家情弱民族だもんなあ。

せっかく製造業では有能な人々が利益を生み出してるのに

若者さんたちは「21世紀にもなって工場勤務はちょっと・・」とか言っちゃって

渋谷とか六本木雑居ビルでグズグズとタムロしてる「IT企業(笑)」ばかり。

テストコードもろくに書けないくせに、意識だけは無駄に高そうに、SwiftiOS専用のゴミアプリばかり作っちゃってさ。

そんでMSGAFA・BATその他世界企業から食われてさ。

「なんで日本大企業GAFAレベル会社作ってくれないの?俺ら有能なエンジニアはずっと和製GAFAを待ってるのに」ってさ。

こんなんじゃ、自分らが妄想する「普通暮らし」に手が届かないのはしゃーない。

昭和に比べたらいい暮らしが出来ているが、それすら驚きだわ。

じーちゃんばーちゃん、どんだけ俺らのために高度経済成長期の富を貯めておいてくれたんだ、って思う。

2019-10-05

anond:20191005234155

XcodeSwiftやMetalを生かした最先端の開発ってのは引っかかるけどね

Xcodeって業界ではポンコツ代名詞から

2019-09-12

冴えない親父だと思っていた父親凄さを知った話

父親に対してはひとしきり褒めてしまった。

母親に言うと「そうかなぁ?」と実感していない様子だった。

友人に親父の自慢をするのはどうかと思う。

ツイッターに流すのも何か違う。

けど、どこかに文にしておきたい衝動があって、ここに書くことにした。

自分の中での父親認識は、かなりの長い間『冴えない良い親父』だった。

平日は朝早くに家を出、IT企業に出社し、家族を養ってくれる。土日は、自分希望すればアウトドア映画に連れて行ってくれる。

そんな良い父親な一方で、部屋のPC周りには大抵酒の空き瓶が1つは置かれていたりする。部屋を覗くと、殆ど漫画アニメ映画を見ているかゲームをしているかのどれかだ。

趣味話題も、父とは好むジャンルが被らない為、アニメなどについて深い会話をする事も少ない。

悪い人間では無いが、冴えない親父の区分に入る、そんな印象だった。

最近swift勉強を始めた。

アプリを作りたいと母親が言い出したからだ。

暇そうにしていた自分に白羽の矢が立ち、勉強をしながらアプリ作成する事になった。

父親の助言で、一冊本を買って勉強を始めた。

最初はまだ良かった。変数配列などの基礎中の基礎は、生粋文系である自分でも、高校数学までの知識理解出来た。

問題は、アプリ開発時だった。なんとか数日で基礎中の基礎だけ叩き込んだ自分は、母親の期待するアプリ作成に着手した。

しかし、プログラミングというものは、想像以上に難解だった。

数字文字として画面に表示するにも一苦労、エラー理解するにも一苦労だった。

ぶっちゃけ何もわからなかった。

swiftプログラムを書き始める時にあるimportとか、途中にあるoverrideの意味とかもよくわからなかった。

こうすれば良いのでは?と思う仕組みがあっても、書き方がまるでわからなかった。

エラーが起きたとき、それをコピペしてググる知恵まではあっても、ブログなどに書かれた用語知識は無かった。

文法だけ知ってる外国語論文を書くみたいな気分だった。

自分は詰まったらすぐに父親を呼んだ。LINEをした。

swift父親も知らない言語の為、すぐに答えが出るわけでは無かった。

けれど、父親エラーを的確に調べ、言語変換のやり方をググり、最後にはアプリを作り上げてしまった。

自分が諦め、一度作業を止めて、部屋でダラけようかと廊下を歩いた時。ふと覗いた酒瓶の転がる部屋で、父親swiftSafariを見比べていた。

どんなコードをどこに入れればいいのか判断する知識エラーが起きた時の対応経験。やり遂げる忍耐力。

知らなかった、冴えてる親父の一面が垣間見えた。

先に生きる者、略して先生、という言葉を思い出した。

一概に、先を生きるだけで賞賛されるべきとは言えない。だが、人というものは、生きている時間に応じて何かしらの経験はどこかで積んでいるのだ。

そう強く実感した。

2019-08-25

Swiftやってて年収1700万だけど

質問は受け付けない

2019-08-16

クソコードを連発する新入社員だらけでもう俺は限界かもしれない

https://note.mu/qsona/n/nbb36de134346

この最近ホッテントリになった投稿で言いたいことがあったので投稿

今の会社、いま3年ぐらいなんだけど、最近会社が大きくなって新しいエンジニア入社してきたけど、明らかにクソコード書いてくるので心が病みそう。

発行されるSQL文をまったく見てないようなサーバーサイドのコード

Warning出てるけどなんで無視してレビュー出しちゃうの!? なSwiftコード。うっかりミスならまだ笑って許せるけどそれ3回目だよね。

「クソコードって言うな」っていうけど、クソコードって言わないと心が病みそう。だってクソとしか言いようがないんだもの

ちょっとしたドメイン知識勘違いだったりとか、エラーハンドリング漏れだったらまだ指摘するけど、プログラミング言語の基礎のキが間違ってる(でもその人、○○できます、で入社した人なんだけど)ので、指摘する方も疲れてくるっていうか。

ちなみに自分より前に入っていて凄くできるエンジニアはもう転職していった。俺もそろそろやばいかもしれん。

2019-07-27

anond:20190727220837

あーそういうのは無理だわごめんね。

やっぱりObjectiveCとJavaで消耗して。

今時はSwiftKotlinなのかもしれないけど。

2019-07-01

anond:20190701123803

iOSアプリを作るなら否応なくMac+Swiftの組み合わせになるので良いも悪いもない。

MacbookうからmacOSの良さを教えて

追記】地味だけど他にはない便利さとか。例えばSwiftってどうですか

---

技術的な話ね。Winディスるとかスティーブを崇めるとかではないやつ。

からない人はお勧め一品料理レシピ書いて。

ログイン ユーザー登録
ようこそ ゲスト さん