「hello world」を含む日記 RSS

はてなキーワード: hello worldとは

2019-04-11

C/C++/C#/Python/Swift/JavaScrip/Ruby/PHPって奴は使えないよね

よくプロフィール言語とかFWとかずらっと並べてる奴いるけど

いざ仕事やらせてみると驚くくらい使えない

Hello Worldできたら使える言語ってかんじになるのか?

逆にこういうの見るとこいつはできないやつなんだなってわかるのかもしれない

2019-04-05

クソ簡単プログラミング学習について書く

世間の「プログラミング習得」のハウツーマウントばっかりで腹立つから

俺も簡単に書く

 

何なんだよ

ね、簡単でしょ?じゃねーよ、お前ボブのお絵描き教室かよ

簡単じゃねーから今お前の文章読んでるんだよ

何でそんな酷いこと言うの?

 

プログラミングは難しい

 

何で難しいかって言えば、プログラミングが道具だから

RPGに例えるなら、呪文や道具がいっぱいある感じだ

用途に応じていっぱいあるんだ

全部覚えようと思って攻略本を開くと、目眩がするのは目に見えてる

途方も無くて死にたくなる

 

でもよく考えてみろ

道具なんだから目的を達成するために全部は使わないだろ

必要なだけ使えりゃ良いんだよ

 

だというのに世の中のハウツーはアレコレ覚えさせようとする

教科書の隅から隅まで覚えさせようとする

「これは基礎だから」「これは常識から」「覚えて初めて一人前だから」みたいなこと言ってくる

そんな量覚えられるわけねーだろ、3分で忘れる自信あるわ

100点取らなくていいの、解くべき問題が解ければそれでいいの、動けばいいの!!

みんなどうせ何だかんだ言ってその程度だから雰囲気でやってるから

 

つーかなんで何か作るって時に、いきなり教科書参考書を全部読もうとしてんだよ

お前、ひょっとしてゲームプレイする前に説明書攻略本読破するタイプ??

やめろよ、ちょっと引くよ

操作方法キャラ紹介、あとルールを飽きる程度読んどけば良いんだって

教科書なら最初の1/3くらい読んであー飽きたなーってところくらいでちょうどいい

 

そしたらまず取り掛かるんだよ

それで一番簡単呪文唱えてみろよ

やり方はネットのどっかに書いてるから自分で探せ

Hello World!!」

できたか?できたらお前はプログラマーに向いてるよ

あとは大体同じだから

 

そしたら次は何か作ってみるんだよ

練習から何でも良い

とか言ったら「SNS作ってみたいです」とか「3Dゲーム作ってみたいです」とか言い出すんだよな

お前、ひょっとしてゲーム開始直後に行っちゃいけないと言われたエリアに行って1回全滅しないと気が済まないタイプ??

 

まあ良いよそれでも

まず機能に分解して、その機能も分解していって、ゴミみたいな最低限の何かに分解してみればいい

文字が打てる!画像が表示できる!ボタンを配置する!

クソみたいな小さい機能に分解したら・・・その実装方法がわからないだろ?

そっから調べるんだよ、教科書でも参考書でもネットでも何でも

 

そっからクソ長い、一個の機能作るのにクソほど時間かかる

でもそういうもんだ、それを延々続けていったら・・・やがて詰む

そう簡単に完成しない、するわけない

この程度のことすらできねーのかって悲しくなる

でもそんなもんだ、残念ながらゲームみたいにお膳立てがされていない

ひょっとしたら不可能なのかもしれない、別の案が必要かもしれない

でもダメそうなら諦めろ

諦めて別のもの作ればいい

 

最後まで諦めず作りきる力」とかたまに聞くけど

Lv1時点でLv100の敵を倒そうとしても詰むだろ

まず見積もり力が皆無なんだから余裕で詰むんだよ

最後まで諦めず作りきれるって大事だよね」とか言ってる奴も、何度も作りきれず諦めてる下手くそ共だから

こだわるな、死ぬ

お前はその程度だ、皆もその程度だ

 

でも作ったり諦めたりするうちに、作れるものと作れないもの簡単ものと難しいものが薄っすら分かってくるから

そしたら「こういうのは作れそう」ってのが見えてくるんだよ

そのうち3回に1回くらい作りきれるようになるから

まあ調子乗って「皆の役に立つものを!」とか欲を出すとまた詰むんだけど

表に公開して話題になる人なんて、ベテランでも難しいから、そこを基準にするなよ

 

あとは繰り返してると、だんだんパーツを流用できそうだと分かってくるから

そしたら他人コード読んで見ればいい

パーツがいっぱいあるじゃん!とか、こいつめっちゃ上手くやってる!パクろう!ってなるから

そしたら今度他人コード理解するためにもう一段プログラムについて学びたくなるんだよ

 

まあ結局難しくて理解できないんだけどな

 

え、作りたいものがないって? うるせぇボケ!!

何でも良いから見つけろ

つまんねープロダクトに取り組むな、既にあるものでも良い、作ることに意味を見出せ、プログラムはただの道具だ

 

作りたいものが決まったら、自ずとそれに合う言語とかも決まってくる

最初から何でもやれるようになろうとするから死ぬんだよ

Linux生みの親も言ってるだろ、「ワタシハLinuxチョットデキル」(※言ってない)

2019-03-20

Hello worldはあるのに

Goodbye worldはない

もっと世界と訣別すべき

2019-03-06

もうだめだ たすけてくれ

djangowebアプリherokuに突っ込んだけどデプロイ成功application errorで何もできなくなる

色々探して色々やったけど設定ファイルがぐちゃぐちゃになっただけ

herokuまで書いてあるチュートリアル通りに進めてみる

失敗

この辺でteratailで聞いてみる

そもそも何がわからないのかがわからないので答えがもらえるわけがなかった

俺にhello worldをさせてくれ……

2019-03-05

なぜ「Hello world」は誰が書いても高品質になるのか

品質ソフトウェアは変更が容易である

例としてこちらをご覧いただきたい。

/* Hello world */
#include <stdio.h>

int main(void) {
    printf("Hello, world!");
    return 0;
}

このコードは高品質である

理由は以下の通り。

  1. 設計シンプル
    何の分岐も判定もない。容易にC2カバレッジ100%にできるシンプルさ。
  2. 高凝集度、かつ低結合度
    変数を使っていないし、そもそも単一ブロック構成されているので結合のしようがない。
  3. 環境依存せず、移植性が高い
    標準ライブラリのみで構成されている。
  4. 適切に構造化されている
    そもそも構造と呼べる要素がない。
  5. 実行時エラーの恐れがない
    唯一、コンパイル時に検出できないのはprintf引数だが、例えここが"hellow world"になっていたとしてもプログラム問題なく実行できる。

2019-02-25

すべてをHello Worldまでしかやらないおっさん

新しいものが出るとキャッキャ言いながら

Hello World(若しくはインストール?)して終わってしまってるおっさんをよく見かけるんだけど

こういう人の技術力ってかなり怪しいんだけどどうなんだろ?

2019-02-16

自動化ツールの使い道

正確にはツールじゃなくてPythonポチポチ手打ちして作ってるのだけど。

Pythonライブラリマウスキーボード操作画像認識機能が使えるやつをつい最近知ったから何か作りたい

画像認識GoogleChromeアイコンを探してクリック → 新しいタブ追加ボタンクリック検索ウィンドウクリックHello World入力エンターみたいなことは出来るが、これを応用して何か作れないもんかと考えてみても全然何も思いつかん

プログラムガチ勢はどういうツール作ってんの?

2018-12-24

anond:20181223182447

最近Visual Studio勉強用なら無料

https://visualstudio.microsoft.com/ja/

Visual Studioだって今は無料

簡単プログラム

printf("Hello world\n");

よく知られているやつ

簡単プログラム

今回の元となるコード for ループ

// ConsoleApplication2.cpp
//


int main()
{
	for (int i = 0; i < 8; i++)
	{
		printf("Hello 47\n");
	}
	getchar();
    return 0;
}

<は<の半角

実行結果

Hello 47
Hello 47
Hello 47
Hello 47
Hello 47
Hello 47
Hello 47
Hello 47

2018-12-23

anond:20181223205616

ほいよ

	char format[50];
	strcpy(format, "%0s%s");
	for (int i = 0; i < 8; i++) {
		printf(format,"","Hello world\n" );
		format[1]++;
	}

スペース増田なら こんなかんじか?

anond:20181223183225

初心者

class mystring
{
public:
	char *buffer;
	mystring() 
	{
		buffer = (char*)"";
	}

	void operator = (const char*t)
	{
		int len = strlen(t);
		buffer = new char[len + 47];
		strcpy(buffer, t);
	}

	void operator = (const mystring&src)
	{
		int len = strlen(src.buffer);
		buffer = new char[len + 47];
		strcpy(buffer, src.buffer);
	}

	mystring& operator + (const char*t)
	{
		int len = strlen(buffer);
		int len2 = strlen(t);
		char *buffer2 = new char[len + len2 + 47];
		strcpy(buffer2, buffer);
		strcpy(buffer2+len, t);
		buffer = buffer2;
		return *this;
	}
	mystring&  operator + (const mystring&src)
	{
		return ((*this) + src.buffer);
	}

};

	mystring my_space_org;
	for (int i = 0; i < 8; i++) {
		mystring space;
		space = my_space_org + " ";
		printf("%sHello world\n", space.buffer);
		my_space_org = space;
	}

anond:20181223182722

一気に並べてみる

オーソドックスな書きかた

int i;
int space;
for (int i = 0; i < 8; i++)
{
	for (space = 0; space < i; space++)
	{
		printf(" ");
	}
	printf("Hello world\n");

}

すまん <は半角の<に置き換えてくれ(w)

バッファをつかってループを1つ削る

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		memset(buffer, 0x20, i);
		printf("%sHello world\n",buffer);

	}

memsetも削ってみる

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		buffer[i] = 0x20;
		printf("%sHello world\n",buffer);

	}

この場合特に影響はないが一般的にはmemsetを使う使わないは大きな影響になるので

memsetを削る場合は注意が必要

C++を使ってみる

	std::string space;
	for (int i = 0; i < 8; i++) {
		printf("%sHello world\n", space.c_str());
		space += " ";
	}

C++を使ってみるの別回答

	std::string space_org;
	for (int i = 0; i < 8; i++) {
		std::string space = space_org + " ";
		printf("%sHello world\n", space.c_str());
		space_org = space;
	}

考察

ざつにかんがえても 書き方いろいろ 

それぞれメリット デメリットが有る

まり まぁ どれがいいというよりは

状況に応じてかき分けていく必要がある

学校の授業などだと

アルゴリズムの話で

ヒープソート マージソート クイックソート比較みたいな話があるけど

そこまで難しい話にいかなくても

ハローワールドだけ見てかつ雑に考えてもこのぐらいは

書き方がたくさんある

どれを書くか?どれがいいか? 考えると面白い

anond:20181223182447

	std::string space;
	for (int i = 0; i < 8; i++) {
		printf("%sHello world\n", space.c_str());
		space += " ";
	}

 ↑ C++的 な 書き方1

	std::string space_org;
	for (int i = 0; i < 8; i++) {
		std::string space = space_org + " ";
		printf("%sHello world\n", space.c_str());
		space_org = space;
	}

こっちの書き方のほうが 無駄は多いけど 使いやす

anond:20181223162005

	std::string space;
	for (int i = 0; i < 8; i++) {
		printf("%sHello world\n", space.c_str());
		space += " ";
	}

LT;は<

例外的

効率は悪いけど こういうふうな書き方もできるC++

anond:20181223152531

技としてはナイスだけど応用は厳しいよね

	const char *message = "        Hello world\n";

	for (int i = 0; i < 8; i++) {
		printf("%s", message + 8 - i);
	}

サンプルとしては、使いにくい書き方

ハローワールドループだけでも

結構遊べる

あなたは どんな 書き方が好き?

ゼロページ

	struct alignas(1) sample{
		char buffer[8];
		char buffer2[8];
	};
	sample sample;
	int i;
	int space;
	memset(sample.buffer, 0, 8);
	memset(sample.buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		sample.buffer[i] = 0x20;
		printf("%sHello world\n", sample.buffer);

	}

anond:20181223150830

3つともおなじ

int i;
int space;
for (int i = 0; i < 8; i++)
{
	for (space = 0; space < i; space++)
	{
		printf(" ");
	}
	printf("Hello world\n");

}

すまん <は半角の<に置き換えてくれ(w)

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		memset(buffer, 0x20, i);
		printf("%sHello world\n",buffer);

	}
	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		buffer[i] = 0x20;
		printf("%sHello world\n",buffer);

	}

書き直すごとにアルゴリズムちょっとづつ良くなったり悪くなったり

どれがすき?

anond:20181223150251

	int i;
	int space;
	char buffer[8];
	char buffer2[8];
	memset(buffer, 0, 8);
	memset(buffer2, 0, 8);
	for (int i = 0; i < 8; i++)
	{
		memset(buffer, 0x20, i);
		printf("%sHello world\n",buffer);

	}

int i;
int space;
for (int i = 0; i < 8; i++)
{
	for (space = 0; space < i; space++)
	{
		printf(" ");
	}
	printf("Hello world\n");

}

すまん <は半角の<に置き換えてくれ(w)

====

Hello world
 Hello world
  Hello world
   Hello world
    Hello world
     Hello world
      Hello world
       Hello world

2018-12-18

私は誰だ?

hello world.

私はどこからきて何のために生きていくのか?

おしえて賢者さん

2018-11-26

エディタのその次

入力インターフェースキーボードからタッチパネルマイクへとかなりアグレッシブに変化しているのにエディタ入力メソッドが未だにキーボード前提になっているのはちょっとダサい

コードを書くのに入力補完やフォーマティングなどは日常的に行っていると思うが、これをキーボードで行わざるを得ないのは最早老人たちのレガシーしかないだろう。

今こそ、音声入力エディタを開発すべきである

クリエイトファンクションファンクションネームイズ『てすと』、ブレスオープンコールプリントフォーマット、オープンパーレンテキストビギン、『ハローワールドテキストクローズクローズパーレンセミコロンクローズレース、エンドオブパラグラフ!」

って感じで唱えて

function test(){

printf("hello world!");

}

ってコードを出力するエディタが現れてもよさげ

2018-07-08

anond:20180322223107から3ヶ月以上経ったので途中経過を報告する

結論から言うと、一定の成果はあった。

ペースは週2回、1回1〜2時間くらい。

この3ヶ月で勉強したことを列挙する。

Excel
Word
PowerPoint

PowerPointはよく分からないのであんまり教えてない、てかアニメーションとか要る?

その他

メートルミリメートルの換算ができなかったので。

換算一問一答とか、今使われてるのはSI単位が多いけど例外もあるよ、とか、トレーサビリティってのがあって世界中の計測器は〜、とか。

アメリカどーこだ?てやったら中国差したので。

緯度と経度とか、大陸名前とか、国当てクイズとか、大航海時代とか、メルカトル図法とか。

現状Hello Worldだけ。

ファイルシステムの使い方とか、巷でよくあるメモリを机上にたとえたり補助記憶本棚にたとえるやつとか、Windowsタスクマネージャーの起動方法見方トラブル対処法とか。

射出成形とかプレス機とかNC旋盤とかファクトリーオートメーションとか。

Google動画検索にはお世話になりっぱなし。

結果

成果物として、毎日つけているOneDrive上のExcel家計簿がある。

普段スマホで日付と金額と勘定科目?を入力してもらって、別シートにsumifs関数で期間と勘定科目の一致した金額を集計する。

大したものじゃないけど、自分で作ったから仕組みを全部理解しているというのが大きい。地方ならこれを提出するだけでも仕事もらえるんじゃないか。言い過ぎか。

この勉強が早速功を奏したかは分からないけど、今月の頭に某中堅製造業契約社員になれることが決まった。

優秀なら学歴関係なく正社員になれるとのことで、本人のやる気があれば今の勉強を続けていこうと思っている。

たぶんしばらくは反復練習に充てることになるかな。

俺も勉強しなきゃ…

2018-04-17

Quick Tutorial for Pyramidをやってみる

PyramidPython向けWebフレームワーク

Quick Tutorial for Pyramid公式チュートリアル

https://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/index.html

Prelude: Quick Project Startup with Cookiecutters

$ $VENV/bin/cookiecutter gh:Pylons/pyramid-cookiecutter-starter --checkout 1.9-branch

として、プロンプトの問いに答えるとサンプル的なアプリができる。

ghはgithubか。

引数指定できるテンプレートhttps://github.com/Pylons?q=pyramid-cookiecutter

sqlalchemyを使うものは分かるけど、zodbって何?

アプリは以下のようにして起動する。

$ env/bin/pserve development.ini --reload

このpserveというPythonモジュールアプリ動かしたりする。

01: Single-File Web Applications

超単純なPyramidアプリを作って、WSGIイメージをつかむ。

app.py を書き写して動かしたらHello Worldが動いた。

Analysisの項:
2. Lines 12-14. Use Pyramid's configurator in a context manager to connect view code to a particular URL route.

viewURLの紐付けはconfig.add_routeしてconfig.add_viewする。add_viewしてからadd_routeしても大丈夫だった。

3. Lines 6-8. Implement the view code that generates the response.

viewにはrequestが渡される。requestに色々入ってそう。

4. Lines 15-17. Publish a WSGI app using an HTTP server.

waitressは知らないけど、serveでHTTPサーバ作ってWSGIアプリを公開できるのかな?

Extra creditの項:
1. Why do we do this:
print('Incoming request')

...instead of:

print 'Incoming request'

Python3だから

2. What happens if you return a string of HTML? A sequence of integers?

Inernal Server Errorになった。アプリのほうではValueErrorresponseを返すようにと怒られていた。text/plainとか返すには何かしないとダメっぽい。

3. Put something invalid, such as print xyz, in the view function. Kill your python app.py with ctrl-C and restart, then reload your browser. See the exception in the console?

print(xyz)してみろ、ということかな。1と同じくInernal Server Errorになって、コンソールにはNameErrorが出た。

4. The GI in WSGI stands for "Gateway Interface". What web standard is this modelled after?

CGIかな?

ログイン ユーザー登録
ようこそ ゲスト さん