X



将来的にPGになりたいんだが、やっぱCから? [無断転載禁止]©2ch.net
0001デフォルトの名無しさん
垢版 |
2016/03/24(木) 19:16:20.65ID:tq86gTXH
でもC言語だけではきついだろ?あと何を学習すれば良いのだ?
0056デフォルトの名無しさん
垢版 |
2016/03/27(日) 00:55:27.03ID:9N4B8hjZ
お前に推薦されて読みたいと思う奴がいると思うか?
少しは客観的に物事を考えろよ
0059デフォルトの名無しさん
垢版 |
2016/03/27(日) 18:28:49.20ID:MssBzCAo
cが基本だとか、なかなか初心者を潰したがる人たちが集まるスレですね
本当にプログラムを書いてるのかも怪しい
0061デフォルトの名無しさん
垢版 |
2016/03/27(日) 19:22:33.16ID:MssBzCAo
OSや言語処理系みたいな低レイヤへ向かっているなら王道だけど、そんなことしたいのか?
簡単なゲームやGUIアプリならpythonの方が入門には向いているし、
OSや言語処理系を書くような人たちにしてもスクリプト言語は習得している
0063デフォルトの名無しさん
垢版 |
2016/03/27(日) 20:25:47.35ID:MssBzCAo
c#は業務アプリとunityぐらいしか適応できない
最初の言語にしては利点がない。
0064デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:14:03.03ID:YOyz7BtG
国内でも書籍リリースラッシュでノリに乗ってるオッパイソンさんで良くね?
0065デフォルトの名無しさん
垢版 |
2016/03/27(日) 21:18:15.92ID:01n693Kf
初心者ならほとんどの人がWindows使い。
もしもWindows使いなら、
C#とCやっておくのが一番勉強になる。

Cで仕組みを知り、
C#でオブジェクト指向を学ぶ。

もちろんCをやってからC#をやった方がいい。
理想はな。
しかしCからの独学は、
しばしば挫折する人が出る。

C#で何かを作る経験をしてからCをやった方が、
モチベーションは維持しやすく挫折しにくいと思われ。
0068デフォルトの名無しさん
垢版 |
2016/03/27(日) 22:21:35.80ID:MEWUhSGW
自分がC言語やったことないと、他人に勉強されると自分を否定されている気になるのかも知れないけど、
C言語を一番先にやるのはいいことだと思うよ。
多分、一番いいだろう。
別にC言語覚えたら、他の言語ができなくなるってことはないから。
C#じゃつぶしが効かないとも思う。
本人が最初から方向性を絞るつもりならいいが、C#やってない会社も多いからな。
0070デフォルトの名無しさん
垢版 |
2016/03/27(日) 22:29:03.00ID:MEWUhSGW
C#だと入る会社によっては覚えたことの大部分が無駄になるけど
C言語は基本だからどんなPGの仕事に就くことになっても知識の大部分が有効に使える。
0073デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:26:07.21ID:nrpG38JD
ポインタとオブジェクト指向は、学んでおいた方がいい。
別にJavaとCの組み合わせでもいい。
C#とCでもいい。

Cをやればオブジェクト指向がわかるかっていうと、
残念ながらCにはオブジェクト指向がない。

まずは勉強用と割りきるとして、
オブジェクト指向が一番わかりやすい形になっていて学びやすいのはC#。
次にJava。
C++は、初心者にはわかりにくいだろう。
すすめられない。
しかしやがては、C++も身に付けて欲しい。
得られるものは大きいから。


仕事で使う言語は、仕事してからでも間に合う。
基礎ができていれば、他の言語は1週間もあればある程度までできる。
一番最初の言語は、文法を覚えるだけでも個人差はあれど、
周りの新卒社員で3ヶ月以上かかっている。
筑波大学や千葉大学や静岡大学の新卒社員で。
ソルジャーとして役立つまで半年はかかる。

しかしその半年を頑張れると、
新しく言語を覚えることになったとしても、
1ヶ月ぐらいでソルジャーになれる。

最初の半年間の勉強はとても大切。
0074デフォルトの名無しさん
垢版 |
2016/03/27(日) 23:27:38.36ID:YOyz7BtG
オブジェクト志向覚えるためにも飯食うためにもJAVAからが一番良さそうな気もするけどね
0075デフォルトの名無しさん
垢版 |
2016/03/28(月) 00:10:18.98ID:xtzdFjkZ
今からPG目指す人にc薦めない人がいることに驚くわ
やって損がないどころか一番マトモに育つだろ
0076デフォルトの名無しさん
垢版 |
2016/03/28(月) 00:53:12.52ID:jP0nw9w8
損はないが足りない部分が多いんだよ。

C言語にないもの
・クラス
・GC
・例外
・テンプレート
・クロージャー
0077デフォルトの名無しさん
垢版 |
2016/03/28(月) 02:30:20.16ID:BDHb5KiL
>>76
それをプログラミング言語入門の段階ですぐ覚えろというのはちょっと違うと思うよ。
長年やっている俺もそんなの知らないし。
C++使っている人はC言語の書き方しかしてない人も多いんだよ。
C++使っている人は小難しい新しい機能をみんな使っていると思っているのかも知れないけどそんなことないから。
0080デフォルトの名無しさん
垢版 |
2016/03/28(月) 10:52:20.00ID:VWYG6Plh
まあプログラマーと一口に言っても色んな領域があるわけで、
最終的にどういうことまで視野に入れるかで何をやっといた方がいいかは変わるよなあ
ハードウェアに近いところを一切触るつもりはないというのならCいらん気もする
逆にそういうのに興味があるなら早めに分かっといた方がいいだろうな
0081デフォルトの名無しさん
垢版 |
2016/03/28(月) 10:54:09.77ID:34It+RQs
制御系とかUNIXは今もC言語が主流だよ。
8ビットCPUとかだとC言語しかないよ。
C++使っているプログラムも、コメントのダブルスラッシュ(C++の拡張構文)だけを使って他は全部C言語の範囲内で書いたプログラムは多い。
LinuxカーネルもBSDもC言語で書かれている。
今でもC言語はUNIXの標準言語だからな。
C++がこれだけ普及しているのはC言語の上位互換だからだ。
アップルのObjective-CもC言語の上位互換。
C++の拡張機能を用いてもいいが必要もないのに無理して使うものではない。
一人で作るならどう書いてもいいが、
会社などの複数人で作るプロジェクトのコーディングルールがC言語の範囲内で書けとなっていると従うしかない。
無理に書き方を増やすとメンテしにくい汚いソースになるからな。

君らにC言語を勉強しろとは言わないが、C言語がこれからも主流なのは変わらないということだ。
0082デフォルトの名無しさん
垢版 |
2016/03/28(月) 10:56:33.64ID:VWYG6Plh
>>81
逆にCでオブジェクト指向的なことをやろうとして構造体に関数ポインタ持たせるとかいうのもたまにあるなw
0083デフォルトの名無しさん
垢版 |
2016/03/28(月) 11:04:56.72ID:OcqR3tMy
プログラミング言語よりも制御対象を理解することのほうが重要だと思うけどなぁ
オブジェクト指向にしてもきっちりモデル化しないと糞クラス量産で最悪の状態に

>>76
釈迦に説法だが
それをCでやるのが面倒だからC++ができたわけで
Cでできないわけじゃない
0086デフォルトの名無しさん
垢版 |
2016/03/28(月) 15:04:19.05ID:XWzo3Vl6
初心者にCを勧める人間の8割は
自分の若いころがどうだったかを忘れた老害

残りの2割は
見込みのない人間を容赦なくふるい落とし即戦力だけを求める鬼畜
0087デフォルトの名無しさん
垢版 |
2016/03/28(月) 16:25:22.29ID:VWYG6Plh
俺が最初に触った言語はN88BASICだったな
次にQuick BASICを覚えて、その後がCだった
0088デフォルトの名無しさん
垢版 |
2016/03/28(月) 20:07:31.91ID:3urpuCwS
>>66
業務アプリを書くにしてもLAMPに相当する知識は必要なわけで、
c#からアプリを書きだしたような人たちが使い物になると思えないんだけど
pythonからなら、linuxやDB、サーバに関するノウハウを緩やかに学習できる
0091デフォルトの名無しさん
垢版 |
2016/03/28(月) 20:45:49.88ID:GEZNgniD
>>88
Pythonからやってみようと思ってるんだけどオヌヌメの書籍とかある?
環境はMacBook AirでOS XなんだがLinuxでやったほうがいいのかな?
あとDBや鯖を緩やかに学習できると言ってるけどそれはWEB系のプログラミングをやればってこと?
出来ればいま流行りの機械学習やらAIに興味あるしそっち方面のライブラリがPythonでは充実してるらしいから、この方面から攻めてみようと思ってる
0092デフォルトの名無しさん
垢版 |
2016/03/28(月) 21:37:31.02ID:3urpuCwS
Macを触ったことがないから分からないけどlinuxでやる方が楽だと思う
オススメできる書籍は『Code Reading―オープンソースから学ぶソフトウェア開発技法』
『ふつうのLinuxプログラミング』 著者, 青木峰郎
ぐらいしかない。(システムプログラミングのためのcのコードは書かなくて良い)
後はもう入門用のチュートリアルと公式のドキュメントやStackOverflowしかない
ttp://www.diveintopython.net/
ttps://wiki.python.org/moin/BeginnersGuide/NonProgrammers
0094デフォルトの名無しさん
垢版 |
2016/03/28(月) 23:39:11.90ID:3urpuCwS
cvsやsubversionの解説があったりツールの類は古くなってる
最近の入門書は知らないけど、ソフトウェア開発を志す人たちが入門時点で学ぶべきことは変わってないと思う
SICP、銀河ヒッチハイク、『いかにして問題を解くか』辺りを平均的な人たちが読んでいる
0097デフォルトの名無しさん
垢版 |
2016/03/30(水) 19:03:10.39ID:vBoNRycQ
プログラミング始めて1年の中3なんだが、まだcはした事はない
頑張ってjava、c#は結構やり込んだが、javaから始めたからかc++のヘッダーファイルとかプロトタイプ宣言とかが面倒で投げた
後はソフト用HPの為にHTMLとcss覚えて、WEBアプリの為にPHP、jsもしたかな
今メインにc#使っているが、言語を覚えるなんてスタート地点だ
その後にはフレームワークの使い方を覚えて、アルゴリズムを考える。こっち大変だぞ
そして動的言語は無駄なエラーに悩まされてクソウザいからやめておけ
0098デフォルトの名無しさん
垢版 |
2016/03/31(木) 12:01:36.77ID:xuw/tDNW
もう進路は決まってるのかな、さすがに。
若いのになかなかすごいね。考え方は間違ってないと思うよ。
今や言語自体にあんまり意味はない。スタート地点とかそういう問題ですらなく、
用途に応じてペンを変えるようなもの。
とはいえネイティブコードの開発は少々敷居が高くなりつつあるけど。
自分も最近は .NET フレームワークでの開発ばっかりなんで、たまに遊びでネイティブコード書くと
メモリリークしまくりだわ。
0100デフォルトの名無しさん
垢版 |
2016/03/31(木) 18:25:58.23ID:ZcaiOdIO
>>97
知合いの中学生はlinux kernelのコミッタをして、
ocamlで分散型のOS開発に取り組んでいたよ
0101デフォルトの名無しさん
垢版 |
2016/03/31(木) 18:39:25.29ID:ZcaiOdIO
知合いの叔父さんはリーマンショックだかで、
勤め先の銀行のシステム会社をリストラされて出家していたよ
彼と話をしてみたけど、tomcatやapacheのマニュアルを読んだこともないみたい
0102デフォルトの名無しさん
垢版 |
2016/03/31(木) 18:44:42.58ID:nkzU0v9F
そりゃそうだろ
銀行の世界なら 免責事項? 何それ美味しいの? だろう
0104デフォルトの名無しさん
垢版 |
2016/03/31(木) 19:28:56.33ID:ZcaiOdIO
言語処理系作るとか競技コーディングが一時期はすごく流行ってたよね
総合的に考えると木をトラバースできたら十分なんじゃないだろうか
0105デフォルトの名無しさん
垢版 |
2016/03/31(木) 19:36:36.34ID:nkzU0v9F
Linux はモノリシックで肥大化し続ける悪い設計と聞く
本来OSカーネルなんてコンパクトで見通しのいい設計のはず
0106デフォルトの名無しさん
垢版 |
2016/04/04(月) 09:39:19.37ID:K+tP/W6A
Cよりマシン語
アセンブラすら後回し
0108デフォルトの名無しさん
垢版 |
2016/04/04(月) 12:07:40.96ID:K+tP/W6A
作者がそう言ってるよね
あの有名な師弟対決で
0109デフォルトの名無しさん
垢版 |
2016/04/04(月) 12:27:29.37ID:23c2ZC8H
最近のLinuxのコードってデバイスドライバが大半っていうじゃない?
そういう所がモノリシック何だと思うよ。

今後、ハードの種類が増えるたびにカーネルのコードが肥大化していく。
0111デフォルトの名無しさん
垢版 |
2016/04/04(月) 16:33:40.90ID:K+tP/W6A
> 用途に応じてペンを変えるようなもの。

行く先や積み荷に応じて車種を変えるようなもので、
運転に慣れるのはそれなりに意味あるぞ
0112デフォルトの名無しさん
垢版 |
2016/04/15(金) 14:01:26.36ID:5jguUvgK
C言語に入る前に基本情報の本でも買ってリスト構造とか配列、オブジェクト指向についての予備知識つけといた方がいいかもしれんよ
0115デフォルトの名無しさん
垢版 |
2016/04/16(土) 11:58:18.72ID:H2vy5pyI
C以外勧める奴のほうが無責任な老害。
老害だからいろんな言語触れるのだから。
もしくは、初心者。

Linux + C で始めるのが現状ベスト。
他にどんなツールどんな言語を覚えなければいけないか環境そのままに分るから。
逆にシステムの体系を知らずして、言語の中に環境を求めるような覚え方をしても、
何がなんだか分らない部分や、何故そうしてるのかなど、埋めれない知識の部分が多く、
見当違いな事ばかりしたり、変なツールや環境に永遠振り回されたりする。
Cをまともに書く為に覚える必須科目がドバーーーーっとある事を知るだろうけれど、
現状プログラミングってそういうものだからしょうがない。
そして触れる事になるツールも立派にプログラミングと言えると思うし、他の言語が
どうのこうの考えなくていいと思うよ。というか考える余裕がもてるかな。
まあそうなったらたいしたもんだよ。
0116デフォルトの名無しさん
垢版 |
2016/04/16(土) 12:14:23.10ID:1mq6giV1
>Cをまともに書く為に覚える必須科目がドバーーーーっとある

だからダメだっつってんだろ
何が足りないかすらわからなくて頓挫するのが C だろ
0117デフォルトの名無しさん
垢版 |
2016/04/16(土) 12:23:06.36ID:H2vy5pyI
だからLinux + Cと書いてる。
まずはシェルに触る事になるでしょうよ。
0118片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2016/04/16(土) 12:55:47.72ID:t80kC8bk
カスタムアロケータのちょっとした練習です。
http://ideone.com/ZmTMFB
0121デフォルトの名無しさん
垢版 |
2016/04/17(日) 11:07:01.40ID:5lvb9JgW
Windows上ならgcc入れてアルゴリズム辞典でもつらつら動かしてみればいいんじゃね?
Expressっての?ただのVisual Studioが手に入るんならそれでもいいし
0123デフォルトの名無しさん
垢版 |
2016/04/21(木) 19:28:31.81ID:w5Z3WEgD
cは便利なライブラリとかないから、サボり脳が働かなくていいね。
勉強するには。
0125デフォルトの名無しさん
垢版 |
2016/04/24(日) 20:18:28.00ID:aq+pbE0C
プログラマは怠惰であるべきだと思うから同意できないな
0126デフォルトの名無しさん
垢版 |
2016/04/25(月) 09:58:22.17ID:3Ef5QZbj
Cに罠なんてないでしょう。
コンピュータの原理を理解していないから誤るだけで。
逆にCをやることでコンピュータの原理について嫌でも考えるようになる。
アセンブラならもっと深くコンピュータを知ることになる。
レジスタやアドレスさえ知らないでプロと呼べるのか。

ただし古い言語なのでネットワークや新技術に対する弱点は辛い。
ツール等の開発効率の面でも簡易言語の習得は必要だろう。
ネットも参考書さえも碌に無い時代を考えたらインテリセンスは神だよなぁ!?
0128デフォルトの名無しさん
垢版 |
2016/04/25(月) 13:14:42.74ID:3Ef5QZbj
そうやってプログラミングを簡単にしてくれてきたプログラマはプログラマにとっても偉大ですね
0129デフォルトの名無しさん
垢版 |
2016/04/25(月) 23:13:47.56ID:D+WslEY/
>>126
Cにあるのは罠というより
ミスしない集中力だねw

メモリリークしてないか。
バッファオーバーフローはしてないか。
0130デフォルトの名無しさん
垢版 |
2016/04/28(木) 13:31:05.45ID:gCVN8fbQ
スクリプト系クソ言語なら
変数のスペルミスで新しい変数(値0)が即座に得られて便利だよ
0131デフォルトの名無しさん
垢版 |
2016/05/01(日) 07:04:24.36ID:tKi6j9CT
匿名通信(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的に分散され、特定のサーバーに依存しません
0132デフォルトの名無しさん
垢版 |
2016/05/01(日) 12:13:42.51ID:XK54YETY
cとasmとwinAPIあたりがPCの仕組みを知れて良いな。敷居も低いし
誰も何の保証もしないクラスを積み木のように組み立てるのが今の流行りなのかもしれんが
0133デフォルトの名無しさん
垢版 |
2016/05/05(木) 23:50:44.30ID:c96zFw3z
ブラックボックスはありがたく使わせていただくのよ
Windows APIだって保証は無いでしょ
0134デフォルトの名無しさん
垢版 |
2016/05/07(土) 07:39:14.22ID:5xFs3i7R
ソフトウェアに限ってもCのコンパイラもOSも誰が何を保証するんだって話だしね
0135デフォルトの名無しさん
垢版 |
2016/05/07(土) 10:31:52.99ID:50MP5ems
まあブラックボックスなものをいじくるのは働くようになってからでもいいと思うし、
やっぱ C だよ。
>>134
C のコンパイルがおかしい場合はアセンブラ見ればたいてい分かるでしょ。
ループ処理を最適化しすぎてたりとか。
他の言語に比べたら C が保証する範囲なんて凄く明確というか分かり易い方だと思うよ。
0136デフォルトの名無しさん
垢版 |
2016/05/07(土) 11:27:33.02ID:5xFs3i7R
>>135
おかしいことがわかれば保証されてる事になるの?
0137デフォルトの名無しさん
垢版 |
2016/05/07(土) 11:31:23.89ID:50MP5ems
>>136
保証はされてなくても直すことはできるでしょ。
なんでもかんでも保証されてなきゃできないってんだったら
そもそもこの仕事向いてないよ。
0138デフォルトの名無しさん
垢版 |
2016/05/07(土) 12:04:38.46ID:0EiVc3To
プログラマが保障すべき範囲と言語・OSが保障すべき範囲の乖離がでかすぎることは内緒
絶対に内緒
0139デフォルトの名無しさん
垢版 |
2016/05/07(土) 12:39:31.76ID:5xFs3i7R
>>137
保証の有無の話をしてるのに直せる直せないに持ってくんだ。
そんな話だったらオープンソースのものなら簡単に直せるよね
0140デフォルトの名無しさん
垢版 |
2016/05/07(土) 12:44:39.68ID:TEQEM2qu
>>139
オープンソースなら簡単に直せるってマジで言ってるの?
ちょっとMinixを使いやすく直してくれよ。
0141デフォルトの名無しさん
垢版 |
2016/05/07(土) 12:50:05.88ID:5xFs3i7R
>>140
なんでやりたくもないことしなきゃならんの?
0143デフォルトの名無しさん
垢版 |
2016/05/08(日) 13:19:42.97ID:e7FUVg4v
>>139
極論でいってやるが基本的に世の中は誰も何も保証なんかしてないよ。
だから直す話をしてやってるのになんでそういう突っかかる言い方するのかね。
そういう人間は向いてないよ。
0144デフォルトの名無しさん
垢版 |
2016/05/09(月) 13:14:15.87ID:8IyAbL6n
最初はHTMLかエクセルのマクロでいいだろ
関心か必要があればそこからCまで行き着く
0146デフォルトの名無しさん
垢版 |
2016/05/11(水) 12:22:39.65ID:och3r7HO
逆な何が逆なんだ?
0147デフォルトの名無しさん
垢版 |
2016/05/11(水) 13:53:22.88ID:71GbDeiF
直すことが理論上可能だって話と、
実際に、簡単に直せるって話をごっちゃにしてない?
0148デフォルトの名無しさん
垢版 |
2016/05/11(水) 22:16:33.42ID:ye4EAN+q
>>145
仕事で、これ出来ますか?って聞かれて出来ると答えて、
じゃあ期日までに宜しくって言われるやつだなw
0149デフォルトの名無しさん
垢版 |
2016/05/12(木) 01:47:58.65ID:/RNlf0h0
結局何が言いたいのかわからん
オープンソースでも修正できないと言いたいの?
0150デフォルトの名無しさん
垢版 |
2016/05/12(木) 03:07:08.71ID:BxH3pzV6
オープンソースだと出来ない言い訳しにくいからクローズドソースの方がいいんだよ
0151デフォルトの名無しさん
垢版 |
2016/05/12(木) 10:40:39.02ID:DRM/51U4
>>149
オープンソースだとしても、修正できないケースは幾つもある。
ソースが1000万行くらいあって修正箇所も修正方法も分からないとか(例:Linux)、
オープンソースだけどソースを購入するのに何万円も掛かるとか(例:昔のUnix)、
修正箇所が多すぎてスクラッチから書いた方がマシだとか(例:Mozilla)、
修正出来たとしてもライセンスの都合で修正版を公開できないとか(例:Minix)。
0152デフォルトの名無しさん
垢版 |
2016/05/12(木) 11:21:59.32ID:BxH3pzV6
>>151
技量不足
一般的にオープンソースと言わない
それでも出来ない事はないし、0から書くより失敗例がある分マシ
修正内容を公開出来ない事と修正出来ない事に直接の関係はない
0153デフォルトの名無しさん
垢版 |
2016/05/12(木) 11:22:58.37ID:BxH3pzV6
行毎に対応してるからそのつもりで読んでくれ
0154デフォルトの名無しさん
垢版 |
2016/05/12(木) 11:41:56.66ID:DRM/51U4
>>152
(4番目について)確かに修正する意味が無いことと、修正出来ないことは違うね。
ごめんよ。

ソースが手に入る手段が用意されていることがオープンソースの定義であって、
それが無料である必要は無い。
「一般的にオープンソース」と呼ばれる概念は何を指してる?

君の才能が無制限に高いのなら1番目と3番目は撤回するよ。
レスを投稿する


ニューススポーツなんでも実況