将来的にPGになりたいんだが、やっぱCから? [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
でもC言語だけではきついだろ?あと何を学習すれば良いのだ? >>81
逆にCでオブジェクト指向的なことをやろうとして構造体に関数ポインタ持たせるとかいうのもたまにあるなw プログラミング言語よりも制御対象を理解することのほうが重要だと思うけどなぁ
オブジェクト指向にしてもきっちりモデル化しないと糞クラス量産で最悪の状態に
>>76
釈迦に説法だが
それをCでやるのが面倒だからC++ができたわけで
Cでできないわけじゃない 初心者にCを勧める人間の8割は
自分の若いころがどうだったかを忘れた老害
残りの2割は
見込みのない人間を容赦なくふるい落とし即戦力だけを求める鬼畜 俺が最初に触った言語はN88BASICだったな
次にQuick BASICを覚えて、その後がCだった >>66
業務アプリを書くにしてもLAMPに相当する知識は必要なわけで、
c#からアプリを書きだしたような人たちが使い物になると思えないんだけど
pythonからなら、linuxやDB、サーバに関するノウハウを緩やかに学習できる >>77
PHPを初めて1週間以内に覚えるような内容だぞ >>73みたいな営業や上司の居る会社でだけは働きたくないわ >>88
Pythonからやってみようと思ってるんだけどオヌヌメの書籍とかある?
環境はMacBook AirでOS XなんだがLinuxでやったほうがいいのかな?
あとDBや鯖を緩やかに学習できると言ってるけどそれはWEB系のプログラミングをやればってこと?
出来ればいま流行りの機械学習やらAIに興味あるしそっち方面のライブラリがPythonでは充実してるらしいから、この方面から攻めてみようと思ってる Macを触ったことがないから分からないけどlinuxでやる方が楽だと思う
オススメできる書籍は『Code Reading―オープンソースから学ぶソフトウェア開発技法』
『ふつうのLinuxプログラミング』 著者, 青木峰郎
ぐらいしかない。(システムプログラミングのためのcのコードは書かなくて良い)
後はもう入門用のチュートリアルと公式のドキュメントやStackOverflowしかない
ttp://www.diveintopython.net/
ttps://wiki.python.org/moin/BeginnersGuide/NonProgrammers cvsやsubversionの解説があったりツールの類は古くなってる
最近の入門書は知らないけど、ソフトウェア開発を志す人たちが入門時点で学ぶべきことは変わってないと思う
SICP、銀河ヒッチハイク、『いかにして問題を解くか』辺りを平均的な人たちが読んでいる >>91
Macなら標準でPython入ってるからそのまま始められる ただしPython2系で古いのでそのまま使うのはおすすめできない プログラミング始めて1年の中3なんだが、まだcはした事はない
頑張ってjava、c#は結構やり込んだが、javaから始めたからかc++のヘッダーファイルとかプロトタイプ宣言とかが面倒で投げた
後はソフト用HPの為にHTMLとcss覚えて、WEBアプリの為にPHP、jsもしたかな
今メインにc#使っているが、言語を覚えるなんてスタート地点だ
その後にはフレームワークの使い方を覚えて、アルゴリズムを考える。こっち大変だぞ
そして動的言語は無駄なエラーに悩まされてクソウザいからやめておけ もう進路は決まってるのかな、さすがに。
若いのになかなかすごいね。考え方は間違ってないと思うよ。
今や言語自体にあんまり意味はない。スタート地点とかそういう問題ですらなく、
用途に応じてペンを変えるようなもの。
とはいえネイティブコードの開発は少々敷居が高くなりつつあるけど。
自分も最近は .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は悲しむぞ?
現実見ようぜ ■ このスレッドは過去ログ倉庫に格納されています