【C?】最初の言語に何を選ぶか【Haskell?】
■ このスレッドは過去ログ倉庫に格納されています
>>99
C とか C++ とかって大勢でプロジェクトを張ってると、
なんか真っ裸で職場をうろついているような気分になるんだよね。
昔の先輩(女性)は「毎日端末の前で脳内ストリップをやっているのよ!」
と仰っていたし。
> 勉強しなさい
修羅場で場数を踏みなさい。 >>103
当然C++の方がJavaより幅広い分野をカバーできる
どちらも徐々にRustに置き換わっていくだろうが 今まで色々なプログラミング言語が注目されては下火になるのを繰り返してきた。
そして、結局なんだかんだ言われながらC/C++が残っていくのでしょうね。
米粒みたいなワンチップマイコンから富岳まで、ほぼ全てのレンジでCコンパイラは用意されてるし。 >>105
C/C++と同じことが出来て、なおかつ、メモリ安全性を保証できるプログラミング言語Rustが登場したので
C/C++は各分野で徐々にRustへと置き換わりつつある >>106
今まで色々な言語が出る度にそういう主張は目にしてきたわ。
まあ、そういうかなり乱暴なこともできるのがCのいいところでもあるんだけどね。
とりあえずLinux互換のOSをRustで記述して、Rustならこんなにシンプルで高速になりますって見せてみたら良いんでない? >>107
今までそのようなプログラミング言語は存在しない
初めて出現したのがRust
Linux OS開発でもCからRustへ徐々に置き換えて行く方法について議論がなされている Rust推しウザい
議論じゃなくて実際に置き換えてから来てくれ >>107
Linux互換OSどころかLinux自体がRustで記述されるプロジェクトがLinux開発チームで動いてるよ
トップのLinusもそれに対して対応すべき項目を挙げたのでその対処が進められているよ GoogleもAndroid OSをRustベースにしたいと言って色々やってるしな。 願望だけでまだ何一つ置き換えられていないRust
まるでチョン君の永遠の10年後と一緒だなw Facebook、開発言語に「Rust」採用 次期ビルドシステムの開発で
https://www.itmedia.co.jp/news/articles/2107/28/news152.html
Rustを用いることで、どのような利点があるのか。Facebookは記事の中で次の4つの項目を挙げています。
@Rustのasync/awaitシンタックスは、非同期のコードをとてもスムーズに記述できますし、Rustは複雑な並行処理の詳細を正しく理解するのに役立ちます。
BuckのJavaの計算を一つ一つ並行処理に移行するのは数カ月に及ぶ困難な作業でしたし、シングルスレッドの大きなボトルネックがまだ存在しています。
ARustには、開発をより簡単で楽しいものにしてくれる多くの高レベルな言語機能があります。
それらはenum、パターンマッチング、trait、手続き型マクロなどで、Rustの開発者の多くに愛されています。
BRust はメモリの割り当てをより細かく制御することができます。
ガベージコレクションのある言語では、たとえジェネレーショナルコレクションであっても、Buckが行うようなインクリメンタルな演算に対応するのは困難です。
CRustは高性能です。
Rustに移植することで劇的な性能向上を私たちは見てきました。 半年付き合って親御さんと顔合わせを済ませて婚姻届に署名捺印して金庫にしまってからでないとコンパイルできないRustちゃんは男女の抱えるトラブルのかなりの部分を解決するけど
浜辺で出会って月明かりの元すぐコンパイルできるCちゃんがいることで維持できる物語もあるんだよ Rust推しは確かにウザいが、大手での使われ方が今までの言語とはっきり違うので
無視して良いものではないけどなあ >>116
実際に書いてみると慣れだけの問題でそんな違いは出てこないよ
むしろRustは後発言語なだけあって他の言語のそれぞれ良い部分を洗練して取り入れた面もあってプログラミングはCより遥かにしやすいね Rustはしばらく半信半疑で様子見されてきていたけど、ここにきてようやく試験に合格したような雰囲気があるな。 今現在C/C++はほぼあらゆる場で使えるしなあ。リアルタイムOSもLinuxもとりあえずCを身につけてたら読めるしね。
SystemCでハードウェアまで含めたシミュレーションや論理合成まで繋げられるから、C++でアルゴリズムを検証した後、負荷の重い部分をSystemC環境に移してFPGA化して高速化するなんていう具合にハードウェアとソフトウェアをシームレスに繋げられるのも利点だよね。
Cの悪名高きポインタも、あれのおかげでハードウェアのレジスタアクセスなんかが簡単に記述できるんで、とってもありがたい存在なのよね。 Visual Studio が標準で Rust をサポートしたら本気出す
まあ公式がこんなドキュメント出してるくらいだからそのうち標準になるんじゃないかと楽観視してる
https://docs.microsoft.com/ja-jp/windows/dev-environment/rust/setup 1970年代に生まれたC言語が現在でもよく使われているのは、ハードウェアに直接アクセスできる基礎的な言語であるためだが、
メモリー関連の脆弱性が発生しやすいという問題も抱えている。
Mozillaが支援し、開発されたRustは、システムプログラミングでC言語の代わりになる言語として期待されている。
例えば、Googleが一部で「Android」の開発にRustを導入しつつあり、
RustをLinuxカーネル開発の第2言語に採用しようとする活動も進んでいる。
またAmazon Web Services(AWS)はインフラ開発にRustを使用しており、
Microsoftにも「Windows」や「Azure」の開発にRustを使い始めている。
このようにIT業界が一斉に同じ新たなプログラミング言語を採用するのは史上初のことであり、
メモリ安全性を保証しつつC言語が担ってきた分野を完全に置き換え可能なRust言語が新たに時代を変えつつある。 着替えが上手ければ更衣室行かなくてもいいよねというCちゃんが胸チラマンチラしながら教室で着替えるからこそ
ガードの固いRustちゃんの振る舞いが周りに受け入れられるんだよ
CちゃんがいなければRustちゃんはただのめんどくさい子 >>125
え??プログラミングしたことないでしょ?
Cが自分でメモリをalloc/freeしなきゃいけないめんどくさい子だよ
Rustは安全に自動で解放までしてくれるから手間のかからない良い子 >>127
> Cが自分でメモリをalloc/freeしなきゃいけないめんどくさい子だよ
ANSI標準 C のでは確かにその通り。
文字列も含めて配列はただのポインタでしかないので、その先にある
データ領域は明示的にサイズを示すかSIZEを指定して alloc しなきゃ
いけないし、領域外参照も自動的にチェックしてくれないから
pop/push 時に自分で監視しなきゃいけない。
まだ Mac が古い OS だったころの C では、文字列は
ポインタではなくてハンドル(ポインタへのポインタ)で、
文字列もヌル・ターミネートの C 文字列じゃなくて、
先頭に文字列調を持った Pascal 文字列だったように記憶している。
そういう点に配慮した、初心者にとって扱いやすい C 言語は、
学習用にあってもいいと考えた人もいて(たしか T 社)、
「C のインタプリタを C コンパイラで書く」という地味な仕事を
かなり昔にやったことがある。 ちなみに FORTRAN 60 も配列はただのポインタだったので、
「配列の添字に負数を指定してシステム領域に手を伸ばす」
とかいった猥褻な手法が使えたという。 はい頑張って勉強します
/* very simple daytime client */
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
int main() {
int sockfd, n;
char buf[127];
struct sockaddr_in servaddr;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(13);
inet_pton(AF_INET, "127.0.0.1", &servaddr.sin_addr);
connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
n = read(sockfd, buf, 126);
buf[n] = 0;
fputs(buf, stdout);
exit(0);
} >>131
頭っから stdio.h が入ってマクロアセンブラのヘッダが並んでいて、
終わりが exit(0)っつーのが通な感じだな。
Java で exit すると JVM のプロセス自体が落ちちゃうので、
C だと上のプロセスからコールされて、longjump みたいな
感じの大域脱出をするパターンで使うのが吉かと。
まぁ、最近の Java だったらキャッチ&スローで処理するところだけど、
上の方のルーチンで例外を握りつぶしていたりするので、
大きなプロジェクトではときどきトラブルが起きたりはするのだが。
>>130
> いやんエッチ!
Mb といえば「ブラックアートの沼津秘宝館」、
Mr.Moto といえば「ギミックの玩具箱」、
所長といえば「アルゴリズムの生辞引(ウォーキング・ディクショナリー)」
と云われたものなんだがな(笑)。
まぁ、とりあえず何でも訊いてくれ。
C コンパイラに、なんか仕掛けるとかいったネタは、
チューリング賞の受賞講演とかであったように思う。
「ブートストラッピング開発には、
セキュリティ上の穴がある」というのは、
Linux 使いには念頭に置いておいてほしいと思う。 そういえば、ヘッダファイルの巡回参照で
コンパイラを落とすとかいうのはよくあったなぁ(笑)。
あとは返り値が文字列だったりするときのバッファは
レジスタには収まりきれないのでメモリ上のレジスタの
アドレスで返ってくるわけだが、その領域外のアドレスを
狙ってプログラム領域を書き潰すと、他人の書いたコードの
ところでエラーが出る(ミニコンとかだと、アドレスカウンタガ
表示される)ので、けっこう惨い目に遭ったという話を
聞いたことがある。 >>129
え??プログラミングしたことないでしょ? >>134
大文字の FORTRAN(FORTRAN 60)はさすがに無ぇな(笑)
Fortran 77 は勉強したけど動かせる環境がなかった。
仕事で使ったのは学生時代にカシオのプログラマブル電卓とBASIC、
修飾してからはアセンブラだった。
趣味では Pascal と C を触っていたのと、BASIC で FORTH の
インタプリタとか書いていた。
その後は C で仕事をするようになり、ちょっと病気でブランクがあった
ので Java を勉強し、SQL で仕事を貰ってから Java が本職に。
その後 Web の仕事が多くて、言語じゃないけど HTML と CSS と JSPを
勉強。なぜ SQL が入っているかというと、再帰とか木構造データとかが
得意な人がおらず、非数値処理屋だった私にお鉢が回ってきたから。
Oracle 9i からは「CONNECT BY」という再帰呼び出しが可能になり、
これを使って二つの木構造データを比較たいという仕事をアサインされたから。
SQL はつまんなそうな言語だけど、テーブル設計とかのシステム寄りの
観点からみるといろいろ興味深いところがある。 >>136
>>137
おまえらコテハンつけて正面から喧嘩売ってこい。
「かかって来いよ。相手になるぜ?」
(Go ahead. Make my day.)
読み筋は「ダーティ・ハリー」。 きょうは参考書のソースをいじってpenサーバーつくったよ
socketの段取りマンドクセ
/* telnetでport 20000につないでみてください */
#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <unistd.h>
int main()
{
int listenfd, connfd;
struct sockaddr_in servaddr;
char buff[4096];
listenfd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons(20000);
bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr));
listen(listenfd, 1024);
for (;;) {
connfd = accept(listenfd, (struct sockaddr *)NULL, NULL);
snprintf(buff, sizeof(buff), "%s\r\n", "This is a pen, That is a desk.");
write(connfd, buff, strlen(buff));
close(connfd);
}
} >>139
なんかしら見ていて気色わるいコードだな(-_-;)。
「main()」はかなり昔(もう二十年以上も前)のスタイルで、
昨今は「main(argc, argcnt)」だったような ……
Java だと配列はオブジェクトなので、「main(args)」で
済んじゃうんだが。
「for (;;) {」もどういうコードに落ちるか不安になるが、
C にも Java にも「LOOP - UNTIL - DO - REPEAT」構文がないので、
「for (;;)」とか「while(true)」とか書いておいて途中で break するしか
方法がないので致し方あるまいと思う。
あとは、商業プログラマだと、入力のチェックとか入力文字列の
サニタイズとかで無暗に手間を喰うので、入力は別ルーチンに
しておくと、あとあと保守が楽だぞ。 node-red使いだしてから長ったらしいコード書くのが面倒くさくなってしまったな。
とりあえずC/C++はどこでも使えるから知っておいて損はないかな?
あと、AI系はPythonがライブラリの充実ぶりで圧勝で、あちらの世界で話をするときの共通言語って感じだし、AIは当たり前のものになってきているから避けては通れないかな?
過去に何度も「将来、これが主役になる」と言われたものはあったけど、結局主役になることもなければ完全に消えるでもなくカオスになっただけって感じだし、他のものは必要に応じてってところかな? >>141
OS/2 の時代に VisualAge C/C++ と使っていた世代としては、
とても得心がゆく。
VisualAge はかなり優れた IDE だったが、Java に対応するように
なってから、「IBM」ブランドだと警戒されそうだと思ったか、
「Eclipse」として独立させて成功した。
Node-Red については知る機会がなかったが、
ツールとして興味深いので勉強しようと思う。 >>141
> AI系はPythonがライブラリの充実ぶりで圧勝
ディープ・ラーニング(深層学習)とか言ってる時点で
マシンの高速化に頼ったパターン認識の焼き直しでしかないと
考えている。
並列処理に関してきっちり向かいあうかどうかが今後の課題だな。
名ばかりの AI は、邪魔なので道をあけてほしい。
読み筋はトヨタ・チェーリカ。 数値計算もSQLも両方書けて初めて一人前な感じはするよね >>140
cはコマンドライン引数いらんかったらint main(void)って書けるよ
c++ならint main()の書き方でおk >>146
呼ぶ側の都合と呼ばれる側の実装の擦りあわせを考えると、
「言語仕様として、それが可能だ」よりも
「業務レベルで考えると、保守しやすい可読性の高いコード」
というのが重要になってくる。
「ダサいコード」も、誰もがダサいと感じるわけじゃなくて、
それなりに経験を積んでいるプログラマだと、
ニヤっとすることもある。
「つまらないコード」というのは、誉め言葉だったりもする。
>>145
「勉強」という言葉を間違って覚えた典型的な例だな。
他人から言われて「勉強」するんじゃない。
自分が自(みずか)ら自分に科すから “勉強” なんだ。
虐待経験があったのは痛ましいと思うが、
それは別板にゆくかカウンセリングを受けろ。
とはいえ、昨今の精神科っていうと薬物療法が主体なので、
ちゃんとしたカウンセリングを受けようと思うと、
なかなか難しいんだよなぁ …… >>146
Java に慣れちゃうとなぁ ……
引数を握りつぶしちゃうのもいまひとつだし、
オプションをチェックするのも仕事のうちだし、
引数なしで呼ばれたら、「usage()」ルーチンに
飛ぶのが礼儀のような気もするので、
パイプ処理前提の C とは、若干感性が違うかもしれない。
GUI 全盛の現在では、そのあたりはなかなか
理解してもらいづらい点はあるのだが。 アセンブラとかマシン語とか言ってる奴。
解ってんだろ、実務ではこのご時世、ほぼ糞の役にも立たないって。
余程特殊な業務でもない限りまず使わない。それこそパチンコとかの組込みとか、ゲーム作る際に余程特殊なことやる場合とかだ。
あまり実用的ではないし、理屈だけ知ってればまずアセンブラやマシン語は使われることはない。
昔ゲーム作る際に使ってて、それ以降全く使っていない俺が言うんだから間違いない。 >>150
それらもRustでプログラミング可能
どうしても一部アセンブラで書かなければならない部分があったとしてもRustはその部分だけをRustプログラムの中にアセンブラで記述可能 >>149
デシジョンテーブルとかよくやってたなぁ。
昨今の「かな漢字システム」でもいまだに使っていたりする。
少なくとも MicroSoft は、「私、馬鹿でーす」と
顔に貼っているから、もう IME も信用できない。
日本 IBM はどこへ行こうとしているのかが分からない。 >>150
> 解ってんだろ、実務ではこのご時世、ほぼ糞の役にも立たないって。
> 余程特殊な業務でもない限りまず使わない。それこそパチンコとかの組込みとか、
> ゲーム作る際に余程特殊なことやる場合とかだ。
> あまり実用的ではないし、理屈だけ知ってれば
> まずアセンブラやマシン語は使われることはない。
そういう技術者を消費していた派遣業者が問題であって、
「技術屋」を使い潰してきたバブリーで
脳内アッパラパーな連中に対する
憤(いか)りはもちろんある。
で、「高齢者」「障がい者」とか雇おうとしても、
雇傭者側にも怯えがあたりする。
ちゃんと教えられる人はまだしも救いがあるのだが、
ちゃんと説明できちゃうとバブリー頭の経営者に排除されたるするんだよな。 >>155
> BNF
BNF ことバッカス=ナウア記法というのは
Pascal の文法記述に使われたのが有名だが、
図で表現しようと思うと、やたら面積を喰うので
大型(A 全とか B 全とかの)のプロッタとかがないと
全体が見渡せないんだよな。 >>156
うちの所長が日本語の形態素解析の仕事をしたときに、
B 全の方眼紙を近所で何枚も買ってきて
日本語の形態素に関する文法を描いてたことがある。 あと、カルロス・ゴーンさんが
日産のスカイラインGTを復活させるという話があって、
それ用の新しい製造ラインを構築するという話があって
所長が三菱総研の話で入ったことがある。
そんとき所長はSQLの話で入ったのだけど、
ER図(エンティティ・リレーション図)という
Java のオフジェクト図みたいなのを見たらB全で、
とても分かりやすかったという話を聞いたことがある。 >>158
> きみ頭悪いって言われるでしょ
馬鹿と鋏は使いよう
馬鹿と金槌は使いよう
きみは決して経営者になるな。
子供に金槌を持たせると何でも叩くから。 >>145
>>146
現代ではネットワーク・コンピューティングが一般的だが、
CPU が一個(待合わせの必要がない、ワンプロセスの処理系)の
処理系だと、いわゆる「フォン・ノイマンのボトルネック」という話に
なるんだわ。
どっかのメモリ領域から引っ張ってきた値を処理して、新しい
値を格納する間に、他のプロセスが元の値を書きかえちゃったら
辻褄が合わなくなるだろ? そのために「排他制禦」っつーものが
あるんだけれど、いちいちそれをやっていると実行効率が下がるんだ。
C 言語はハードウェアべったりの「超高級アセンブラ」
(要するに、いわゆる「高級言語(第三世代)」ですらない
第二世代の言語)と云われていたし、Haskell は
「遅延評価」というコンセプトに基づいているので、
「どこに位置づけたらいいのかの判断が難しい」という話になる。
「『竹内の tarai 函数を』 Haskell で書いて実行する」
とかいった話は、掘り下げておいて損はないと思う。
「入山のアルゴリズム」も参考になると思う。 結局は「一番距離の近い周りが使っているもの」になるんだろう。 >>162
> 結局は「一番距離の近い周りが使っているもの」になるんだろう。
いや、昨今はそのあたり、昨今は切実な話だぞ?
守秘義務契約でガチガチに縛られてて、
テレワークで同じ職場の人間と会話する機会もなくて、
自粛要請のせいで同業者と飲み会をすることもできん。
コーディングで詰まったときに誰にも相談できんというのは
しみじみキツいので、まだしも使っている人間が多い Java は
選ぶ価値があると思う。
ただ、昨今は言語について深く掘り下げようという人間は
少数派なので、けっきょく C 世代の年寄りばっかりが集まって
愚痴を垂れるばっかりになってしまうのだが ……
せめてもの救いは、家庭用のビアサーバーが普及したことくらいかな。
ウィスキーやレモンサワーだと、糖分が少ないせいか悪い酒に
なりがちだ。 仕事ならなおさら、チーム内で使っていない言語を勝手に選ぶわけにもいくまい。 >>151
可能かどうかより、周りが使ってるかどうかだろうけどね。
電子工作系でもRust使った作例はごく僅か、ほとんどC/C++とアセンブラだもんね。 >昨今は言語について深く掘り下げようという人間は 少数派なので、
プログラミング言語の栄枯盛衰が激しいからね。掘り下げるなんて言ってる間に次の流行りが来る。
その多くがC/C++の欠点をあげつらってこんなに素敵なんだ、これからはコレが主役だ!とか言ってたけど、結局その他大勢の中の一つになっていったしね。
まあ、新しい言語を作る側の人間もまたC/C++使いだったりもするんだろうけど。
てか、人生ズボラ派としては、いい加減、文字をずらずら並べてプログラムを記述するというスタイルそのものがどうにかならんのかな?と思ったりはするわ。 >>167
> 文字をずらずら並べてプログラムを記述するというスタイルそのものが
> どうにかならんのかな?
それは「ノンテクスチュアル・プログラミング」といって、
わりと人類の夢みたいなところがあるんだが、実現しようと思うと
JIS フローチャートとかで育った人が話をややこしくするのだ。
SPD とか NS チャートとか、構造化に向いたものもあるんだけどな。
早稲田大学(日立?)の二村先生は、「この世から JIS フローチャートを
撲滅したい」と公然と主張していらっしゃった。
いちど筧先生の研究室のお邪魔したときに、外廊下のどんづまりが
二村研究室で、仕事で日常的にフローチャートを書いていた私は
逃げ帰ったことがありました。 もう言語から作っちゃうのが早いような気がしてきた。
昔の Fortran 77 で、「最短のプログラム」というのがあって、
「END.」だそうだ。
Pascal だと begin 〜 end がやたら目についたし、
C や Java だと「main()」で始まるし、
Java で「exit()」とかやると JVM そのものが落ちて面倒な
ことになる。
そのあたりを整理して、変数スコープをはっきりさせて、
強い静的な型付けを強制して、swap とか
loop 〜 until 〜 do 〜 repeat とかも導入して、
void だったら 「repeat.」とちゃんと書かないと文法エラーになるような、
かっちりした教育用の言語があったら、
遅かろうがなんだろうが使う価値がありそうに思う。 IBMメインフレームのアセンブラなら、最短のプログラムは
ST__EQU_*
____SR__15,15
____BR__14
____END_ST
IEFBR14だ >>171
さすがに濃すぎてわからん。うちらは通信用のスーパーミニ
(たしかハネウェルのコピーの NCOS)だったので、
いわゆるメインフレームは触ったことがないのだ。
ひょっとして、「白い机の 360」とかの世代の方ですか? さすがに…
360、370の後継の z/OSです
ですが、IEFBR14 は360の頃から使用されていますね
何もしないで戻り値として 0を返すだけのプログラムです
intelで戻り値をaxレジスタにセットするように、レジスタ15に0を設定しています >>173
私も「NCOS」といっても「スーパーミニ(MS140以降)」の時代なので、
「NCOS 1 アセンブラ」はちょっと齧っただけ。
入間基地の FADP にメインフレーム級の NCOS が
あったのは見た記憶がある。
ミニコンピュータといっても、「PDP」シリーズは写真でしか
見たことがなく(あのカラーリングの感性はいかがかと思う)、
PDP-11 の仮想記憶版の拡張型であるVAX-11(いわゆるブルー・バクスン)は
NEC の府中事業場の隅っこで埃をかぶっていたのを見たことがある。
つーても、あれってサイズが高級車一台分くらいあるんだよなぁ …
「“ミニ” コンピュータ」っつーんだから、せめて大型冷蔵庫くらいの
サイズにしてほしい。
自宅にサーバールームを用意して、17 インチのラックを設置するとかいうのは
さすがに控えようと思うのだが、ケース買ってきて自作マシンというのは、
若気の至りで一度やらかしたことがある。 ぶっちゃけ、高級アセンブラとしてのC。
その上はいろんな哲学を学ばないといけないから。 >>176
>その上はいろんな哲学を学ばないといけないから。
C は記述の粒度が小さいもんだから、
小さいプログラムを自分ひとりで書いているうちは
いいんだけど、なんかしら全体構造が見えづらくなっちゃうんだよな。
若いうちはそれでも力業でなんとかなるんだけど、さすがに
三十代半ばを過ぎると「三日前の自分は他人」というのが
身に染みてきて、ちょっと大きなプロジェクトでチームを組むと
なにかしら行き詰まりを感じたりする。
私の場合は、その先のポジションが Java だっただけで、
C♯とかいう人もいるかもしれない。 >>177
それならばRustが良いですね
Cと同じく低水準な記述も可能でネイティブコンパイルされGCも無し
C言語がとっても便利で強力になったものがRust言語 最初に学ぶというからには、手っ取り早くでなくということではなく、体系的に学びたいということなんだよね
僕はC押しだったけど、たしかにCはかならず一度は通らなくてはならないと思うのだけど、最初にCで挫折してしまうより、もう少し取っつきやすい、アルゴリズムに集中できる言語から入るのがいいのかなとも
順番に拘らないというか どうせやるんだから(やらなきゃ話にならないんだから)
最初からやったほうがいいに決まってる
後からで良いって逃げてる香具師は使い物にならない(レベルで満足してるのが多いイメージ) どうせやることになる言語はrustやhaskellに限らずたくさんあるんだから、何もそれらを最初にやる必要は全くなく、基礎的なもの分かりやすいものから順に積み上げるのは妥当だろう >>181
おかしかったワ:
最初に学ぶというからには、手っ取り早くということではなく体系的に〜 >>183
妥当というか当然だよね
このスレにいる奴は頭のおかしい社会不適合者ばかりだから世間とずれすぎてる >>185
> このスレにいる奴は頭のおかしい社会不適合者ばかりだから世間とずれすぎてる
それは×かなぁ。
「こんなマイナーなスレをわざわざ荒しにくる奴は、どっか心を病んでいる
『精神的な社会不適合者』ばかりだから、プログラマ文化からずれすぎてる」と
いうのが適切だと思う。
先天的に脳がおかしい(ということは、「頭がおかしい」)けれど、
「自閉なんだけどフツーに有能なプログラマ」は電算業界には普通にいるし、
理数系の研究者に関しては、むしろ「自閉系である」というのが
強みであったりする。
「世間とずれすぎてる」というのは、同調圧力に負けているんじゃないかなぁ。 >>174
PDP、なんかレトロフューチャーみたいでかっこいいじゃんと思う。 >>188
漏れもそう思う。紫とか使っちゃうところがパンクチュアルだと思った。 DECがロゴの色をバーガンディに変えたのは1990年代のことだがな。
PDPの時代はいわゆる"Small Blue" そうだったんだ。
仮想記憶システムをフォローした VAX-11 は、
「ブルー・バクスン」と云われていたのは憶えている。
Prolog で有名な中島(「ナカジマ」ではなく「ナカシマ」)
秀之さんは Prolog 処理系の VAX への移植で有名だが、
未見だけれども「秘境 Prolog に名前呼びの修羅場を見た!」
という論文があるとかないとか(もうすぐ『bit』の電子版が
出るらしいので、興味があったら購入して探していただきたい)。 そういえば思い出した。
DEC はパソコンにも手を出して、ケース型のパソコンを出して
いたんだよな。それで「DEC なら信用できるだろう」と思って
秋葉原で買ったら、パソコン業界からいきなり撤退しやがった(T_T)。
以来、「DEC」というブランドは信用しないと決めている。
同様に、「Microsoft」「アスキー」とかいったブランドは、
基本的に信用しないと(個人的な意見だが)決めている。 DECの関東工場で生産されるパソコンはMade in TOKYOと銘打ってHPが販売してる。 最速ならvscodeでもダウンロードしてきてjavascriptでもてきとうにいじるのが良いかもね。
そのあとは知らんが。 vscodeだと汎用的すぎて開発ターゲット決めるところからだし敷居が高い
よくあるシミュレータ付きの適当なIoTデバイス用IDEでJS対応してるのがオススメ
遊ぶ分にはデバイス購入不要
他にもUserscriptの改造とかすぐ目に見えて動かせるものが良いはず >よくあるシミュレータ付きの適当なIoTデバイス用IDEでJS対応してるのがオススメ
で、具体的に何?初めての人はそれがわからんから苦労するんだろ。 >>197
有名どころで取っつきやすいのだと
https://www.microsoft.com/ja-jp/makecode
ここのArcadeかmicro:bitのチュートリアル
いっそ初手ならここのブロックプログラミングで良い気もする >>193
>>194
そうなのか orz
「がっちりマンデー」の報道は嘘だった(法律上は「嘘」とは
言えないだろうが)んだな。
「Made in TOKYO」といっても、
「東京都内で組み立てています」というだけの話であって、
たとえば餃子の餡と餃子の皮を中国から輸入して日本で包めば、
「Made in Japan」の餃子になっちゃうわけだからなぁ …… 組み上げたあとの検品をちゃんとしてくれたら文句はないんだけど
最近は国内メーカーの冠ついてても信用ならんのよね マウスコンピュータの評判はどうなんだろう。
本来ならば、いわゆるノートブック・パソコンは
姿勢が辛(つら)くなるのでお勧めはしたくないのだが、
新型コロナウイルス感染症の流行明けだと、
「矯正出社」というのがあってリモートワークも
ままならなくなっているらしい。
昔は「読書机」というものがあったのだが、
昨今はパソコンも小型化しているので
なんかしらそういう環境があってもいいと思う。
「最初の言語に何を選ぶか」というのも重要なんだが、
まず開発環境を整備しないといけないと思う。 ■ このスレッドは過去ログ倉庫に格納されています