ホーム
作品紹介
部員紹介
入部フォーム
ハンバーガーメニュー
ホーム
作品紹介
部員紹介
入部フォーム
絞り込み
人工知能
MMD
デザイン/グラフィック
プログラミング
電子工作
ガジェット/ハードウェア
Unity
Surface Pro×NOT Windowsを試したお話
無線給電
~史上最高のWindows~それは...
MyCrane
ハーフブリッジ回路ができるまで
YouTube Live Scheduler
一からアンドロイド開発をして思った、知っておくべきこと
競プロ環境構築
4.2GHzゴリ押しシリーズ
イラストゆるゆるメイキング
最新の投稿
プログラミング
後編:Kotlinの批評をしてみた~不満編~
こんにちは、オキリョウと申します! 前回の記事ではKotlinを学習するメリットについて書かせていただきました。 しかし、メリットばっかり書くのはあまりよろしくないように感じます。 そこで今回は、私がKotlinを学ぶ上で感じた不満等について書いていきたいと思います。 *前回の記事も合わせて読まないと偏った考え方を持ってしまう可能性があります。気をつけてください  1.   プログラムを初めて学ぶ人には敷居が高いそもそもKotlinはJavaの後釜となるべく作られた言語です。なので、Kotlinを勉強する人の大半はJavaも勉強したことある人です。 それに伴ってKotlinの入門記事はjava等の他の言語を勉強していることが前提のものが多いです。 実際に前回紹介したKotlin Koansも初めてプログラミングを触る人にとってはかなり難易度の高いものとなっています。 実際に私も最初にKoansをやって挫折しかけました。 もしKotlinから学びたいという人はAndroidの入門記事などで勉強したほうがいいかもしれません。また、Kotlinを知っている人に聞いて回るのも手だと思います。  2.   新しすぎるKotlinは2011年にできた言語です。しかし、実際に注目を浴びたのは、googleがKotlinをandroid用の言語として正式に採用した2017年です。ですので、Android開発に関しては実質3年分の情報しかありません。 そのため、Androidのアプリを組む際には、Javaで書かれたコードを参照することもよくあります。 Androidはましな方です。 例えばデスクトップ用アプリを作る際に使う「Compose for Desktop」は発表されてからまだ半年すら経っていません。完全に情報不足です。 従って、実際に組むときはかなり試行錯誤する必要があります。  3.   気軽にスクリプトを書くことはできないKotlinは静的言語ですので、毎回コンパイルが必要になります。しっかりしたアプリを作るうえでは非常に心強いですが、簡単なスクリプトを書こうとしたときには逆に障害になります。 例えばパソコンの自動化をしたい!となったときです。Pythonだとファイルにコードを数十行も書けば実現可能です。コンパイルとかも必要なく、長くても1時間あれば完成するでしょう。 しかしKotlinでそれをしようとするとそれこそ「Compose for Desktop」を使ってアプリを作ることになると思います。勉強時間等を兼ねて大体1週間くらいかかるでしょう。もちろんクオリティはいいものになるとは思いますが・・・ このように、Kotlinで何かを作るとなると腰を据える必要があります。  まとめKotlinはその性質上、初心者には厳しい言語と言えます。また、比較的新しい言語でまだまだ発展途上です。そのため情報不足なところが多いです。気軽に何でもKotlinで・・・とはいきづらいところがあります。 しかし、それらに目をつぶってもいいような魅力がKotlinにはあります。勉強する価値も十分にあります。皆さんもぜひ、Kotlinを勉強してみてください!そしてもっと情報を増やしてください。
内容を見る
プログラミング
前編:Kotlinの批評をしてみた~メリット編~
こんにちは、オキリョウと申します! 私はプログラミング言語のひとつである「Kotlin」に非常に思い入れがあります。 最初に作ったアプリはKotlinで書きましたし、Qiitaに書いた記事も全部Kotlinが絡んでいます。 そこで、そんなKotlinを2回に分けて布教批評していきたいと思います。何番煎じだという感じですが、自分なりの目線で書くので読んでいってください。   今回はKotlinを勉強するメリットについて書いていきたいと思います。  1.   スマートに書けるKotlinの文法の特徴として簡潔に、分かりやすく書けるというものがあります。以下のコードを見てください。fun main(){    for(i in 1..20){        when{            i % 15 == 0 -> println("FizzBuzz")            i % 3 == 0 -> println("Fizz")            i % 5 == 0 -> println("Buzz")            else -> println(i)        }    } } よくあるFizzBuzz問題の回答をKotlinで書いてみました。どうですか?簡潔で美しく感じませんか?   このコードも見てくださいfun match(data1: String, data2:String?): String{     data2?.let{ it ->         return if(data1 == it){             "Match"         }else{             "Not Match"         }     }     return "data2 is null" }こちらは2つのデータが同じかどうかを確認する関数ですね。また、片方の引数はnullableです。 そもそもKotlinはnull安全を採用しているので、いちいちnullかどうかで処理を書く苦労を減らすことが出来ます。また、nullチェックをするときでも2行目のように書いてやればスマートに書けます。 Return文もKotlinならではの書き方です。Kotlinのifはそれ自体が式なので、このように書いてやるだけできっちり処理してくれます。 こんな感じでKotlinを使うことでかなりスマートに書くことが出来ます。他にもスマートに書くための様々な文法があります。ぜひ一度調べてみてください。 ちなみに私はdata classが一番気に入っています。  2.   なんでも書けるKotlinなら何でも書けます。マジで何でも書けます。 KotlinはAndroidアプリしか書けないと考えている人もいるでしょう。しかし、そうではありません。 バックエンドからフロントエンド、デスクトップ用のアプリ、さらにはIOSアプリまで書くことが出来ます。 一つ勉強すれば全部書くことが出来るというのは結構魅了的なことだと思いませんか?  3.   響きがいいこう、Kotlinと言われるとかわいらしい感じがしますよね?それだけで勉強していく価値は十分にあります。 ちなみにKotlinというのはフィンランド語で「やかん」の意味ですので、小鳥とは全く関係ありません。が、公式が用意しているKotlin例題集「Kotlin Koans」は、日本語の「公案」から来ているそうです。親しみがわきますね! ↑昔のロゴ  まとめKotlinを使うことで、スマートなプログラムを簡単に書くことが出来ます。また、Kotlinであればできないことはほぼありません。 ちなみにですが、聞いた話によるとAndroid開発者は人材不足らしいです。つまりKotlinを勉強しておけば就職にも優位に働くかもしれません。 皆さんもKotlinを勉強して素晴らしいプログラミングライフを過ごしましょう!
内容を見る
プログラミング
初心者にこそ勧めたい競プロの世界
こんにちは。日々競技プログラミングの精進を重ねている、終に鮭といいます。 皆さん、プログラミングしてますか?あるいは興味がありますか? ――結構。プログラミングを始めたい/上達したいという方々におすすめのコンテンツがあります。それが 競技プログラミング です。競技プログラミングとは競技プログラミングは、オンラインゲームです! 1 2 3 4 5 これは割とマジなんですけど、もう少し真面目な説明をします。課題が与えられ、与えられた条件を満たすプログラムを書き、ソースコードをジャッジする、というものです。 解答を出すまでの速さを競ったり、多項式時間で解けない問題に対する近似精度を競ったり、コードの短さを競ったりします。AtCoderでは主に解答を出すまでの速さを競います(内々でコードゴルフしてる人もいたりするんですが、ここでは置いておく)。 で、オンラインゲーム要素なんですが、AtCoderではコンテストに出るとレーティングが付きます。Twitterで「青色になりました!」等と言いながら謎のグラフを上げてるアレです。 6 みんなアレをモチベに(ほんまか?)コンテストに参加してるんですね。なんならAtCoder Jobsで就活、インターン、バイトを有利に進められたりします。あくまで娯楽なんですけど。娯楽?プログラミングは娯楽ですよ。何言ってるんですか。……まあすべての人がそう思うわけではないんでしょうが。プログラミングを道具にパズルを解いてるみたいな感じで面白いんですけどね。競プロの強み娯楽に対してメリットを語りたくはないんですが、一応。アルゴリズムが身につく実装前から計算量がわかる 何よりもこれらですね。競プロをすると一般人(情報系学生等を除く)が一生学ぶことのないであろうアルゴリズムやデータ構造を学ぶ機会が得られます。いいですね。例えばDijkstra法とか、Segment Treeとか。大抵の人は普通にプログラミングしてても多分使わないでしょうし。 そして競プロにおいては計算量をオーダーで測ります。誤解されがちなのですが、(ほとんどの言語では)どこまでもチューニングして速くするわけではなく、定数倍の差は無視することがほとんどです。Pythonなんかはもとが遅すぎるので別ですが。 とにかく、プログラミングの抽象的な部分を深く学ぶことができます。みんなもアルゴリズムを勉強して、競プロをやろうね! ---- 1 chokudai(高橋 直大)🍆さんはTwitterを使っています 「ちなみに今はインターネットに普通に繋がるのでAtCoderってオンラインゲームがおすすめです。」 / Twitter https://twitter.com/chokudai/status/1244638270736097284 2 こたつがめさんはTwitterを使っています 「steamサマーセールってほんと!?僕もAtCoderっていうオンラインゲーム毎日10時間やってます」 / Twitter https://twitter.com/kotatsugame_t/status/1143844015176990721 3 prd🦍さんはTwitterを使っています 「少し宣伝。 我々はAtCoderというオンラインゲームを普段やっています。完全無料! ジャンルは競技プログラミングといって、いかに多くの問題にいかに早く正解できるかを競うゲームです。 プログラミングに興味がある人、力を試したい人、楽しく学びたい人、全てにおすすめです https://t.co/o0wpAOJKnR」 / Twitter https://twitter.com/prd_xxx/status/1044190250375888897 4 keymoonさんはTwitterを使っています 「基本無料オンラインゲームであるところのAtCoder」 / Twitter https://twitter.com/kymn_/status/1016531797792813056 5 kumakumaaaaaさんはTwitterを使っています 「趣味は競プロって言うと引かれることが多いので、競プロをバトルロイヤル形式のオンラインゲームと呼んでいる」 / Twitter https://twitter.com/kumakumaaaaa__/status/1338730125697814528 6 .終に鮭さんはTwitterを使っています 「入水しました!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! https://t.co/HnHiZ2dkJg」 / Twitter https://twitter.com/AAAR_Salmon/status/1363125630049525763
内容を見る
<
1
2
3
4
5