レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
ヒッキープログラミングスレ
-
プログラミングの話題のスレ
質問・相談
初心者からプロまで
プログラミングに関することなら何でもOK
-
テステスて
-
SHA512ってのをVB6で使いたいからソースを探したら、これ64bit整数使うのかよ・・・VB6に64bitを扱う型が無い・・・
-
いい加減VB6を切り捨てる時期なのか・・・まぁ一応VS2010の無料バージョンはインストールはしてあるんだけどね・・・
-
メジャーな言語は全部使えるようになっておくべき
-
プログラマーとして就職したいならな
-
メジャーな言語というよりプログラマ求人で需要の多い言語を覚えたほうがいいんじゃないの
-
プログラマになりたいんならそうだろうな
でも実務経験無いと厳しいぞ
ただでさえ空白期間持ちで就職全般不利になるってのによ
-
lisp処理系に末尾再帰最適化つけるの糞面倒だよー
-
それすごく難しそう
-
末尾再帰と動的スコープは相性悪いみたい
なかなかうまくまとまらないし
-
func hoge(a, b) {
if (a < b)
return b;
else
return hoge(a-1,b+1);}
100 start hoge
110 pop a
120 pop b
130 cmp a, b
140 jmi 170
150 push b
160 ret
170 sub a, 1
180 push a
190 add b, 1
200 push b
210 call hoge
220 ret
↓末尾再帰最適化
100 start hoge
110 pop a
120 pop b
130 cmp a, b
140 jmi 170
150 push b
160 ret
170 sub a, 1
180 add b, 1
190 jmp 130
-
func hoge(a, b) {
if (a < b)
return b;
else
return hoge(a-1,b+1);}
100 start hoge
110 pop a
120 pop b
130 cmp a, b
140 jmi 170
150 push b
160 ret
170 sub a, 1
180 add b, 1
190 push b
200 push 1
210 call hoge
220 ret
↓末尾再帰最適化
100 start hoge
110 pop a
120 pop b
130 cmp a, b
140 jmi 170
150 push b
160 ret
170 sub a, 1
180 add b, 1
190 jmp 130
-
>>332は間違い>>333がたぶん末尾最適化のイメージ
これはlispじゃないし、謎アセンブリだけど
末尾最適化なんて出来るのか?人間がソースコード見て>>333みたいに書き直すみたいなことはできるけど
コンパイラとかインタプリタとかでどう処理してんだろうな
-
実際は引数はこんな単純とは限らないだろうし
再帰呼び出しで複雑な引数とかの場合どうすりゃいいんだろな
-
>>333また間違えた
200 push a
だわ
-
わけわからんちn
-
>>333はいろいろと間違ってる気がするが
-
何もかもが間違っている
-
プログラミング言語は言語に依存しない基本的な概念を理解できれば新しい言語の習得にかかる時間を短縮できる
基本的な概念とは、命令や変数や関数や引数や戻り値や条件分岐や繰り返しやクラスやオブジェクトなど
どのプログラミング言語にも似たような機構が存在するという考え方
-
時代はC#
-
おめーら!C#を覚えるぞ!!
-
まずはC#でGUIでHello World!だ!
-
>>336
お前は問題の本質を理解してない
-
プログラミング、難しいものである
-
プログラミングってセンスを要求されるは
-
2ちゃんブラウザもEメールクライアントも
そんなに難しい技術じゃないのに自作する人少ないネ
-
メールクライアントは難しい
-
x86(IA-32)のアセンブリを覚えたいけど
めちゃくちゃ難しいなコレ
特にハードウェア
-
Androidアプリの売上額、日本と韓国が米国を抜いて世界1位2位に
http://engawa.2ch.net/test/read.cgi/poverty/1369578829/
アンドロアプリ作るなら今のうちだぜー
-
COMET IIのエミュレータ作ってみたいと思ったけどハードウェアどうすりゃいいのか分からんかった
普通のPCはハードディスクのMBRにをメモリに読み込んで実行するとかだけど
入出力装置とか内部的にはどう扱ってるかとか普通のPCの仕組みが分かってないから
COMET IIのエミュレータ作るの無理だと分かった
-
VirtualBoxとかVirtualPCとかはちゃんとBIOSの起動やブートメディアの選択、ブートレコードの読み込み実行とかちゃんとやってるけど
あれってすごいよな
-
WikipediaのメモリマップドI/Oの項で8bitマイクロプロセッサがどうメモリ使ってるかは読んだけど
所詮Wikipedia、大雑把な説明しかないし、やはりそういうこと具体的に細かく説明してるサイトか本で勉強しないと無理ぽ
-
COMET IIのエミュレータでOSとかShellとかC言語コンパイラとか作ってみたかったけど、ちょっと次元が違った、まだ自分が取り組むべき範囲じゃない・・・
まぁ、そんなもん作って何になるかっていうと、本当、ただの趣味というか興味というか、ぶっちゃけ意味はないけど
-
COMET IIってのはこれのことね
CASL - Wikipedia
http://ja.wikipedia.org/wiki/CASL
-
メールクライアントはSMTP,POP,IMAP難しそう、最近は暗号化通信や認証とかもやるんでしょ?
-
最近は電子メールとかEメールって言わずメールって表現されること増えた希ガス
-
SMTPは7bitの壁
-
>>357 最近はメイルって言わずにメールって言うよな
-
マスコミはちょこちょこ表現変えるよな
メインだったりメーンだったり
-
アンドロイドのアプリ作ってみようかと思うけど
実機ないし、アプリのアイデアがない
スマホを使ったことないからスマホらしいアプリというのがよく分からんし
-
Google on Android - Android ? Google Developers
https://developers.google.com/android/
アンドロイドアプリは英語で作らないといけないん・・・
-
Eclipse無しじゃ開発キツそう
android-sdk_r22-windows.zipをDLして展開したけど
何をどうすりゃいいか分からんなこりゃw
-
なるほど、SDK Managerで必要な開発セットをDLするのか
-
素直にEclipse使えば良いじゃん
GoogleがAndroid SDKを同梱したバージョンを配布してるから簡単に導入できるぞ
-
PCスペックが低くてEclispe自体はインストールはしてあるんだけどね、
あまりにももっさりで重すぎだからJavaは普通のテキストエディタとコマンドラインだけでやってる
Eclipseとエミュレータの同時起動は無理ぽげ・・・
実機もなけりゃ開発環境のPCもしょぼい・・・プログラミングをしようと思ったこと自体が間違いかもしれん
-
adt-bundle-windows-x86-20130514.zipもDLしてあるから
SDK Managerで個別DLよりadt-bundle-windows-x86-20130514.zip展開で再配置してみるわ
adt-bundle-windows-x86-20130514.zipにEclipseのプラグインも入ってるようだし、一応。
-
adt-bundle-windows-x86-20130514.zipを展開してみたらEclipse本体が・・・これが>>365がいう同梱版か・・・ファイルサイズが糞でかいわけだわ・・・
-
Eclipseを統合して起動したらロゴが出たとこで固まったわ・・・迂闊に統合するんじゃないなこれ・・・
-
ahosugi
-
思ったとおり、google系はPCに入れたらあかんな、androidのプラグイン入れただけなのにadb.exeが勝手に起動してるわ・・・
androidの新規プロジェクトとかしてないんだぜこれ・・・eclipse起動しただけでandroid用のツールがバックグラウンドで動き出すって本当糞だわ
-
しかもeclipse終了してもadb.exeは終了しないという、
-
文句あるなら
やめろ
-
麻雀アプリ作りたお
-
Lispの実装とやらの話きいてて面白そうだなと思い
俺もやってみようと思ったがWikipediaの静的スコープのところの変数のスコープでクロージャのとこがよく分からんな
Common Lispとやらの実装を導入してテストしてみるしかないのか
-
WikipediaのLispの項目見るとLispは実装が容易とか書いてあるけどもしかするとBASICのほうが簡単じゃね
-
両方作ったけど字句解析、構文解析はlispの方が簡単だった
あとBasicは構文が統一してないから面倒
-
まあlispの方がマクロとか静的スコープとか末尾再帰とか実装しないといけないから
それを含めればBasicの方が楽かな
-
Common Lispみたいな共通仕様みたいなの満たそうとするからいけないんだよな
俺俺Lispや俺俺BASICとか全部俺様仕様の言語仕様にすりゃもっと楽なんだろうけど
-
昔は言語に共通仕様的な考え方が無かった
-
>>379
それってただの機能限定版じゃないか?
-
warota
-
何をもってLispとするか
構文が同じならLispと呼べるのだろうか
関数やマクロや特別形式とやらが他のLisp方言とは全然異なっていてもLispになるのだろうか
Lispと呼ぶにはやはり他のLispと共通する名前と機能を持った関数やマクロや特別形式が必要なのか
-
C言語にも規格がありANSI準拠とかC99準拠とか基準があるが
それらに全く準拠してないC言語だって存在していたはず
その言語の種類を決めるポイントとは何なのか
-
仮に構文だとするとBASICと呼ばれる言語はみんなバラバラだ
N88-BASICもMSX-BASICもQuick BASICもF-BASICもVisual BasicもVisual Basic .NETも
全部BASICだが構文は違ったりする
-
rubyもlisp方言だしな
-
まぁ現代においては既存言語の実装作るなら何らかの規格に準拠させるのが普通なんだろうが
ANSIとか規格が決められる前までは何を根拠に○○言語だとか名乗っていたのだろうか
-
rubyがlispの方言か・・・どこら辺を影響受けたんだろうな
wikipediaに載ってるコードとかでは共通点を見いだせないが
使ってると似てる部分とか感じるのだろうか、それとも実装技術的に似てるのか
rubyが影響受けた言語としてlispの他にperlやpython、smalltalkにCLUとあるな
何か言語を作ろうと思うと既存の言語を色々と勉強していいとこ取りをするってのがベターなんだろうな
-
そういやWikipediaにはB言語とD言語はあるがA言語とかE言語もあったりするのだろうか
-
D言語は最新版のリリースが4日前か
-
A言語っていうかalgolじゃなかったっけ?
Eは冗談で作ってる人くらいはいそう
というか一晩デバッグしてもとれなかったからもう寝る
-
おやすみ
-
A+という言語がAPLという言語の派生とのこと
同じくAPLの派生でJという言語があるとのこと
-
日本語wikipediaには存在しないが
APLの派生にKとQもある
K (programming language) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/K_(programming_language)
Q (programming language from Kx Systems) - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Q_(programming_language_from_Kx_Systems)
-
List of programming languages - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/List_of_programming_languages
A#とかあるのな
-
IT系は日本語Wikipediaが貧弱すぎる・・・アニメとか声優とかアイドルはやたら充実してるくせにな
-
プログラミング言語一覧 - Wikipedia
http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7
-
なでしこって日本語プログラミング言語だのに半角英数使うのか
日本語プログラミング言語なら全部全角でやれや
-
日本語の文法構造やタイプ量からしてプログラミング言語に向いてない
-
BASICで書くと
LINE (100, 100) - (120, 250), RED
LOCATE 5, 10: PRINT "HELLO WORLD!"
みたいなのが
日本語プログラミングとか作ると
座標(100,100)から座標(120,250)まで赤色の線を引く
5行目の10文字目に「HELLO WORLD!」を印字する
こんな感じになるのか?w
-
BASIC調で作ったとしても
直線 (100, 100) - (120, 250), 赤
カーソル位置 5, 10
印字 「HELLO WORLD!」
日本語でプログラミング言語作る意味を感じないな
そもそもIT用語で日本語化してないの多いしな、クラスとかオブジェクトとかインターフェースとかフィールドとか
-
日本語プログラミング言語を作ったとしてのメリットは
母国語が日本語の奴でプログラミング初心者の奴でもソースコードがパっと見で何となく分かるという感じなのだろうか
-
何語で書かれようと結局のハードルは
文法構造(構文)や命令(ステートメントやオペレーター)や標準関数や標準マクロの名前や予約語を覚えたり
変数や配列や数値や文字列や演算やスコープや参照などのプログラミング共通の基本概念を覚えたりと
そこらへんだろうからプログラミング言語が日本語セットである必要性が全くないんだよねえ
-
日本語プログラミング言語の「なでしこ」や「ひまわり」はよく知らんが
昔「ロゴライター」という日本語バージョンの「LOGO言語」なら使ったことあるけど、ロゴライターは使いやすかったぞ
-
小学校のクラブ活動でパソコンクラブってのがあってロゴライターを採用しててそれで使ったんだけど
あれのおかげでプログラミングの基本概念を身につけられたと言っても過言じゃないわ
-
ペンを持ったカメを操作して画面に絵を描いたりするんだが
たとえばを辺が100pixelの正方形を描くメソッドを作るなら
てじゅんは せいほうけい
ペンをおろせ
まえへ 100
みぎへ 90
まえへ 100
みぎへ 90
まえへ 100
みぎへ 90
まえへ 100
みぎへ 90
てじゅんは おわり
みたいな感じ
-
ペンをあげろ を入れ忘れたw
ペンを持った亀を移動させて絵を描くんだが
ペンをあげさせて亀を移動させないと移動した軌跡に線を引いてしまうんだよw
-
でコンソールみたいなところから
せいほうけい[Enter]
でメソッド「せいほうけい」を実行するわけ
「てじゅんは」ってのがようはプロシージャやサブルーチンの宣言なわけだが
作ったメソッドを他のメソッド内からも呼び出せるんだよ
まぁLOGO言語がそのまま日本語になった感じのようだから下手な説明するのも無粋というものだが
-
20年以上昔に使ったものだから>>406のが正しいかどうかはちょっと分からんがw
-
タートルグラフィックだな
-
プログラミング体験談とかもっと聞かせてくれ
-
N88-BASICとかの行番号付きBASICって内部的にどういうふうにコードを保持してるんだろう
普通は行番号は10単位くらいあけて書くし6万行分のコード保存用の配列を用意してるってわけじゃないだろうし
リスト構造で前後を繋いでるのなら挿入は楽そうだけどGOTOとかのジャンプ命令が大変そうだし
行番号順に並べる必要あるからハッシュテーブルじゃなさそうだし
木構造で管理してんのかな、だとしたら何木だろう
-
もしかしてヒープ構造とかか?
-
あるいはB木とかかな
-
B木はやはりジャンプが不利か
ヒープ構造ならジャンプ有利にはなるけど行番号ソートがやや手間だがヒープで実現するのが一番しっくりくるか
-
いやまてまて、ヒープはジャンプ有利とはいえないか、ジャンプ先の探索手間はリスト構造よりは圧倒的優位かもしれが
ヒープが配列で実現できるからといって飛び飛び番号順だし木構造と探索は大差ないか
-
しかし木構造だと深くなると行番号順の実効そのものに影響が大きそうだし、やはりヒープか
-
ギャップバッファってのがある
テキストエディタでよく使われる効率の良いアルゴリズムだけど普通に連結リストだと思う
gotoは別の形で保持しとけばいいし
-
行番号と配列のマッピングするとなると6万行分の配列を用意するか、ハッシュテーブルを使うかすれば探索コストは落ちるだろうけど
あの古いPC上で運用するとなるとメモリ制限からしてハッシュテーブルでも使ってるのだろうか
-
>>418
>ギャップバッファ
おおサンクス
これ調べてみる
-
>>420
CとかでBASIC作ろうとしてるなら行単位連結リストでいいと思うよ
さっきも行ったようにジャンプは別にテーブル用意しとくのが得策だと思う
|
|
掲示板管理者へ連絡
無料レンタル掲示板