将来的にPGになりたいんだが、やっぱCから? [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>97
知合いの中学生はlinux kernelのコミッタをして、
ocamlで分散型のOS開発に取り組んでいたよ 知合いの叔父さんはリーマンショックだかで、
勤め先の銀行のシステム会社をリストラされて出家していたよ
彼と話をしてみたけど、tomcatやapacheのマニュアルを読んだこともないみたい そりゃそうだろ
銀行の世界なら 免責事項? 何それ美味しいの? だろう >>100
OSの開発って・・・Linuxのソース読もうとした事あるけど10分で放り投げた・・・w 言語処理系作るとか競技コーディングが一時期はすごく流行ってたよね
総合的に考えると木をトラバースできたら十分なんじゃないだろうか Linux はモノリシックで肥大化し続ける悪い設計と聞く
本来OSカーネルなんてコンパクトで見通しのいい設計のはず Linux カーネルってモノリシックて言えるのか?アレ 最近のLinuxのコードってデバイスドライバが大半っていうじゃない?
そういう所がモノリシック何だと思うよ。
今後、ハードの種類が増えるたびにカーネルのコードが肥大化していく。 > 用途に応じてペンを変えるようなもの。
行く先や積み荷に応じて車種を変えるようなもので、
運転に慣れるのはそれなりに意味あるぞ C言語に入る前に基本情報の本でも買ってリスト構造とか配列、オブジェクト指向についての予備知識つけといた方がいいかもしれんよ いやー、やっぱそういうのは作りながらじゃないと身につかんと思うよ。 なかなか理解出来てなかったりするしな。
やってるうちに分かってくる。 C以外勧める奴のほうが無責任な老害。
老害だからいろんな言語触れるのだから。
もしくは、初心者。
Linux + C で始めるのが現状ベスト。
他にどんなツールどんな言語を覚えなければいけないか環境そのままに分るから。
逆にシステムの体系を知らずして、言語の中に環境を求めるような覚え方をしても、
何がなんだか分らない部分や、何故そうしてるのかなど、埋めれない知識の部分が多く、
見当違いな事ばかりしたり、変なツールや環境に永遠振り回されたりする。
Cをまともに書く為に覚える必須科目がドバーーーーっとある事を知るだろうけれど、
現状プログラミングってそういうものだからしょうがない。
そして触れる事になるツールも立派にプログラミングと言えると思うし、他の言語が
どうのこうの考えなくていいと思うよ。というか考える余裕がもてるかな。
まあそうなったらたいしたもんだよ。 >Cをまともに書く為に覚える必須科目がドバーーーーっとある
だからダメだっつってんだろ
何が足りないかすらわからなくて頓挫するのが C だろ だからLinux + Cと書いてる。
まずはシェルに触る事になるでしょうよ。 Windows上ならgcc入れてアルゴリズム辞典でもつらつら動かしてみればいいんじゃね?
Expressっての?ただのVisual Studioが手に入るんならそれでもいいし >>115
C + Win32API ではダメ?
Cといえば、確かにUNIX系の環境が基本だろうけど cは便利なライブラリとかないから、サボり脳が働かなくていいね。
勉強するには。 プログラマは怠惰であるべきだと思うから同意できないな Cに罠なんてないでしょう。
コンピュータの原理を理解していないから誤るだけで。
逆にCをやることでコンピュータの原理について嫌でも考えるようになる。
アセンブラならもっと深くコンピュータを知ることになる。
レジスタやアドレスさえ知らないでプロと呼べるのか。
ただし古い言語なのでネットワークや新技術に対する弱点は辛い。
ツール等の開発効率の面でも簡易言語の習得は必要だろう。
ネットも参考書さえも碌に無い時代を考えたらインテリセンスは神だよなぁ!? そうやってプログラミングを簡単にしてくれてきたプログラマはプログラマにとっても偉大ですね >>126
Cにあるのは罠というより
ミスしない集中力だねw
メモリリークしてないか。
バッファオーバーフローはしてないか。 スクリプト系クソ言語なら
変数のスペルミスで新しい変数(値0)が即座に得られて便利だよ 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません cとasmとwinAPIあたりがPCの仕組みを知れて良いな。敷居も低いし
誰も何の保証もしないクラスを積み木のように組み立てるのが今の流行りなのかもしれんが ブラックボックスはありがたく使わせていただくのよ
Windows APIだって保証は無いでしょ ソフトウェアに限ってもCのコンパイラもOSも誰が何を保証するんだって話だしね まあブラックボックスなものをいじくるのは働くようになってからでもいいと思うし、
やっぱ C だよ。
>>134
C のコンパイルがおかしい場合はアセンブラ見ればたいてい分かるでしょ。
ループ処理を最適化しすぎてたりとか。
他の言語に比べたら C が保証する範囲なんて凄く明確というか分かり易い方だと思うよ。 >>135
おかしいことがわかれば保証されてる事になるの? >>136
保証はされてなくても直すことはできるでしょ。
なんでもかんでも保証されてなきゃできないってんだったら
そもそもこの仕事向いてないよ。 プログラマが保障すべき範囲と言語・OSが保障すべき範囲の乖離がでかすぎることは内緒
絶対に内緒 >>137
保証の有無の話をしてるのに直せる直せないに持ってくんだ。
そんな話だったらオープンソースのものなら簡単に直せるよね >>139
オープンソースなら簡単に直せるってマジで言ってるの?
ちょっとMinixを使いやすく直してくれよ。 >>140
なんでやりたくもないことしなきゃならんの? >>141
簡単に直せるがやりたくない。
その理由は? >>139
極論でいってやるが基本的に世の中は誰も何も保証なんかしてないよ。
だから直す話をしてやってるのになんでそういう突っかかる言い方するのかね。
そういう人間は向いてないよ。 最初はHTMLかエクセルのマクロでいいだろ
関心か必要があればそこからCまで行き着く ソースが公開されてるだから、直せるだろ?
逆になぜ直せないんだ? 直すことが理論上可能だって話と、
実際に、簡単に直せるって話をごっちゃにしてない? >>145
仕事で、これ出来ますか?って聞かれて出来ると答えて、
じゃあ期日までに宜しくって言われるやつだなw 結局何が言いたいのかわからん
オープンソースでも修正できないと言いたいの? オープンソースだと出来ない言い訳しにくいからクローズドソースの方がいいんだよ >>149
オープンソースだとしても、修正できないケースは幾つもある。
ソースが1000万行くらいあって修正箇所も修正方法も分からないとか(例:Linux)、
オープンソースだけどソースを購入するのに何万円も掛かるとか(例:昔のUnix)、
修正箇所が多すぎてスクラッチから書いた方がマシだとか(例:Mozilla)、
修正出来たとしてもライセンスの都合で修正版を公開できないとか(例:Minix)。 >>151
技量不足
一般的にオープンソースと言わない
それでも出来ない事はないし、0から書くより失敗例がある分マシ
修正内容を公開出来ない事と修正出来ない事に直接の関係はない >>152
(4番目について)確かに修正する意味が無いことと、修正出来ないことは違うね。
ごめんよ。
ソースが手に入る手段が用意されていることがオープンソースの定義であって、
それが無料である必要は無い。
「一般的にオープンソース」と呼ばれる概念は何を指してる?
君の才能が無制限に高いのなら1番目と3番目は撤回するよ。 >>154
Linuxの修正に無制限に高い才能が必要なのか。初めて知ったよ。 >>155
例が悪かった。確かに調べたら昔のUnixは現代ではオープンソースとは見做されていなかった。
ソースコードは公開されていたし、妥当な値段で配布されていたし、他の条件も満たすように思えたけど
Wikipediaにはプロプライエタリだよって載ってたわ。
>>156
要点はそうじゃない。
論理的に不可能だという話ではなく、コストが掛かり過ぎて現実的じゃないケースがあるって話。
これが、もし君が無制限に高い才能を持っていて、タダ同然で働いてくれるなら
論理的に可能な修正は実際に現実的なコストで可能になる。
話を132の頃に戻すけど(俺が横槍を入れたのは140からだけど)、
PCの仕組みを知るにはC/asm/WinAPIは良いものだ、十分に使い込まれていて深刻なバグはもう無いから。
それなのに最近は作りたてで深刻なバグが有るかどうかすらはっきりしない部品を使うのが流行らしい
と>>132は言っているように俺は思える。
それに対して、
完全に正しく動く保証なんか何処にもないよね?とか
バグってても直せる?オープンソースでありさえすれば「簡単に」直せるから同じじゃね?とか
見当違いの事を言ってんのが>>139
オープンソースなら「簡単に」直せるってマジで?って聞いてるのが俺
バグは直すのもそうだけど、見つけるのもそれなりにコストが掛かる物なのよ。
その見つけるコストを古くからあるソフトウェアはその目玉の数と時間で補ってる。 そして、動作の保証の話をしているのに
> ちょっとMinixを使いやすく直してくれよ。
とかいうわけのわからないウザ絡みをしだすのが>>140 >>151
そのminix の記述は minix1とminix2 の初期の話だね
minix3 はBSDライセンスだ
minix は今でも続いているプロジェクトだから,その辺誤解を招かないようにしてほしいよね 素のCという案件は少ない。
しかも単価が高いわけでは無い。
かけるコストとリターンを考えたら別の言語を選ぶべき。
その別の言語を使いこなせるようになってからCに手を出すでも十分。 仕事についてから勉強ってことならそうだろうけれど、
学生の頃から勉強するならそれくら基本からやってもいいんじゃないの。 実際に使わない・使えない前提なら機械語からやるべき
Cはどっちつかずで基本でもなんでもない C言語からやるべきかなぁ
上手くプログラムが書けるようになるためというよりは、
コンピュータやプログラムが内部で何をやっているかを理解できるようになるために。
例えばGCが内部で何やってるかとか、
C(とかC++)の経験があればある程度想像できるだろうし...
多分そっちの方が色々と近道な気がする。
プログラミングが上手くなりたいならSchemeとかやればいいのかな? Schemeやアセンブリは超簡単。
頭の出来が良ければ1時間で全部覚えられる。
Cは少し難しく、基本だけで20時間は掛かる
LuaはCよりは簡単だが、Luaから始めるなら半年はかかるだろう
Rubyは使うだけなら簡単なんだろうが全部覚えるには3年掛かる。
溶岩みたいな名前のクソ言語は理解するに値しない 覚えるのが簡単なのと開発が楽になるのは別の話。
ソフトウェアに限らないが、
すぐに覚えられる程度の少ない知識量だけでは開発は楽にならない。
より多くのことを覚えることで開発は楽になる。
覚えることが少ない言語は、その言語を覚えることが目的であれば
少ない言語の方が簡単だと思うだろうが、
多くの人にとってはその言語で開発することが目的。
だから覚えることが簡単な言語が優れているとは言えない。
もちろん例外もあって、そもそも他の言語では覚える必要がない物というのがある。
他の言語ではそういうことを言語自体が隠蔽化してくれてる。例えばポインタみたいにね。
アセンブリやCは言語が隠蔽化してくれてないことが多いので、
とりおり覚えることが多いうえに開発も楽にならないと言う逆転現象が起きる。 最近のプロセッサの機械語ってどんなんだろw
考えただけで目眩がしてきたww 機械語はハードメーカーなんかの技術部の社員でもなければやらんでいいと思うけど
アセンブリは最低どれか一つはやっといた方がええやろな
長い目で見れば 使いやすさは
MS-DOS上の16ビットx86がオススメ
intが便利
機械語の覚えやすさで行くと
MIPSとかMMIXとかがオススメ Z80
6802だか6805だかも比較的わかりやすいと聞いたことがあるけど Z80の機械語なんてC8 C9くらいしか覚えてないな x86の機械語なんてC3とか90とかしか覚えてない
00?加算か何かだっけ? VBAしかやったことないんだが、最終的にIE上で動くWebアプリケーションを
開発できるようになるために次に覚える言語って何がいいかな?
ちなみにHTMLは学生の頃、多少覚えた程度のレベル 怒らないでマジレスしてほしいんだけど
なんでこんなPHPでプログラミングできるわけ?
普通の人ならRubyの知識があるはずなんだけど
このこと知ったMatzは悲しむぞ?
現実見ようぜ 将来的にPGなんて目指さないのが正解。
幸せな人生を送りたいのなら・・・ >>182
マジレスすると、PHPはテンプレートエンジンに特化してるから
rubyとはそもそも用途が違う。 最近は箱物に使われるプロセッサでも
開発環境が要アセンブラ部分をブラックボックス化してるからなぁ
まぁトラブルが発生するとその部分でこじれたりするんだが JavaScriptは次世代のC言語になりつつある 将来はサーバをまたいで ISR が動くようになるはずだ 車でATかMTかと議論するのに良く似ていると個人的には思う
何故ならC->他の高級言語は割と楽だが高級言語->Cはこんな事も出来ないのか(自分でやる必要があるのか)!だらけで死ねるからだ
要するに漢だったらC言語っしょって事だ 本質的な部分をやりたいなら Java とか Python をやればいい
遠回りでも基礎的なことを身につけたいなら8086とOSの仕組みを学ぶべき
Cからというのは愚かな選択
ただし宗教的な理由により1つしか言語を身につけられないならCで行くしか無い とりあえず問題集解きまくればいいだろ。
体で覚えつつ対応範囲を広げる。
初学者なら何の勉強にでも通用する基本。 構造体の配列を作ってポインタの値を見てみるとか
構造体の中に関数ポインタを入れてみるとか色々やってみると
わかってくるよ 実践を積むのが一番だがね。
言語はなにがいいんだろね。
自分がプログラミング始めた時は、BASIC (インタプリタ) か
アセンブラしか選択肢なかったけど。
でもアセンブラやってたから、C でもポインタで躓かずにすんだ。 アドレスとポインタの違いがわからないと混乱するけどな アナログ回路からはいると
デジタル回路はジミーヘンドリックスのギターだということがわかる ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
J1QOY >>198
>でもアセンブラやってたから、C でもポインタで躓かずにすんだ。
間接参照(Indirect Addressing)とかの概念は、今ならアセンブラやCを使わなくても学習出来るね。
日本語の教材が少ないんで英語必須だが。
http://www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_8/lowlevel/miniweb/pg4.htm ぅむ
プログラミング言語より制御対象のデータシートを読めるほうが重要だったり ■ このスレッドは過去ログ倉庫に格納されています