2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

今までに見たソースコードで一番感動したのは deux

1 :デフォルトの名無しさん:2010/01/12(火) 23:23:19 .net
やっぱりこれです
while(*src++ = *dst++) ;
・ポインタの型によってインクリメントの適量を判断して加算してくれる点
・行末の ;
・終了判定
無駄も過剰もなくって感じで好きです

前スレ
http://pc12.2ch.net/test/read.cgi/tech/1037458703/

66 :デフォルトの名無しさん:2012/10/11(木) 20:09:31.62 .net
test

67 :デフォルトの名無しさん:2013/03/26(火) 09:10:03.52 .net
(function(s, callback){
  var result = console.log(s);
  callback(result, function(err, result){
    if(err){
      throw err;
    }else{
      console.log(result);
    }
  });
})('Hello', function(err, callback){
  if(err){
    throw err;
  }else{
    callback(null, 'world');
  }
});

68 :デフォルトの名無しさん:2013/03/26(火) 09:18:43.10 .net
馬鹿には無理

69 :デフォルトの名無しさん:2013/03/26(火) 09:23:36.70 .net
#include <windows.h>
#define o(c) (c=='/'?63:(c=='+'?62:(c<'A'?c-'0'+52:(c>'Z'?c-'a'+26:(c-'A')))))
int main(int ac, char **av)
{
BYTE str[]="AAAAfzH8QRUEXWl0XVF0XX10QXUEf1X8AFwAXxXwGMekNYpIToHAR0qYAGaofyXEQX0AXUvMXVygXUNwQQnAf06YAAAAAAAA";
BYTE dmp[72];
for(int i=0;i<24;i++){
BYTE c[4];
for(int j=0;j<sizeof(c);j++) c[j]=o(str[i*sizeof(c)+j]);
dmp[i*3+0]=((c[0]<<2)&0x00fc)|((c[1]>>4)&0x03);
dmp[i*3+1]=((c[1]<<4)&0x00f0)|((c[2]>>2)&0x0f);
dmp[i*3+2]=((c[2]<<6)&0x00c0)|(c[3]&0x3f);
}
HWND hwnd=GetDesktopWindow();
HDC hdc=GetDC(hwnd);
HDC hmemdc=CreateCompatibleDC(hdc);
HBITMAP hbmp=CreateCompatibleBitmap(hdc,32,32);
HBITMAP holdbmp=(HBITMAP)SelectObject(hmemdc,hbmp);
for(int i=0;i<24;i++)for(int j=0;j<3;j++)for(int k=0;k<8;k++)
BitBlt(hdc,(j*8+k)*32,i*32,32,32,hmemdc,0,0,dmp[i*3+j]&(128>>k)?SRCCOPY:NOTSRCCOPY);
SelectObject(hmemdc,holdbmp);
DeleteDC(hmemdc);
ReleaseDC(hwnd,hdc);
DeleteObject(hbmp);
return 0;
}

70 :デフォルトの名無しさん:2013/03/26(火) 11:41:16.36 .net
eNptWNeS40aWfZ+v6NDEarqEmiUAgjBRakXAE44kDOE6+gHeew+t/n1R1T0asxsMEOTJkzevSXPz/jWrg3IKo0+/LlkdNsvw3+l
vf/nrn+BeZv4H0vZeUnmfgqaqonr8fMCvP300Hs9PL3+Zmyz85KNIGAVNGH2mHIP99Es4jK9ZPX4asj16/Q4NffDy+8fPg/wVB7
99+R384y1u+u9dhi/ga/YFfMt+hY4v4Av88nuQev2nX/wvP5Gut4MEAJxOP719kMMv/tcMgL79/Xh9A6B/SgkOCcGv4VsAAC/vw
3y0B3//G/C3b18GIHgbgC/h2x/v9Hftvo/3ruPpfIwJ/NAv+Ip8e/sHJz84+a/IW340B1/zb1/exX4+jPma/YIA+bd32S//dZjz
dth8YGfgsOzz5+Ar+O3XX+GXn8EVBOPg5X/eIejbb78hH9D55U869J0OHXTkBx38TocP+ncJ8T/p8Hc6fNDR7/TgnR58PX/79PM
ncD0f3D/+eNe88rL6wwQveP3uyl+8+YeJ5X5Y8e3LT5G4jzUD61c5MBOSHTReHMuxCjaRVfpxcsnFuZtPUx1VtsZTE6SU51Qu5i
RpZO4HsCjWTOIAy43jWrPtbf4EEMyNIDGlCt2Y2+/h/VEvy2PBBYondo2uAWuPKY/VKbAoFAPOBHRN7rrUxghEl41O9Xf2Hoh5T
5ZVYA9NCiWBM54RYVBVGkxGkBnj0KMLymVVHext8UnKI2k2ZxfK6DBiVAUAqaiF1kj0GXKVeq483luXyp4oqw5/8y7pIXegoAxf
wzZx+NIrz1BtUYNi3JyhIwKLBGcW3Ug+BbicrYjeGemw7+moMeMcsOxCUYIsm5/syUYcLvAEdJ7FwUszJORaB2FNl6eWFNWCk1F
YOlQwyXkybxYNk/x8XcWtYG/w0AhXSWjX6Ik69mnLBoTzSmC+TW73CG9QbSCMLjf1TAMDsKa8ty5WYbkTzGJFgGKJSSBP43T3z0
UWn1lxm4AxfEqIpA/uDorBep2qzbUExu43Te5lLenOfgiDDsrlJuZU5Mg0t9vlHrh6O4S+TAroGKzcfXVXmb/SghJJi8+j62GOj
Qgh4zMNY7dzQfiWAQCP7Loe7tYn8frQjOzUZShcN1LUBWnQlYXSMZjUOClvHoairo55g5n7WA7KBA/Kspw26yqS7t3L7NgXh46s
aH13V1Q6jynQQmld03Vj3cWylscuDMIwIpXRyot7wY3VNiposd/62z0H1nHibgNTqFYAFEElWPi2XQrvudP4iCJm4rCBkj0ywS2
bFgLUK4H4GXVT2SEte/m+Yn10N51VftpEBFsQP2kXx/T6y31j76RiQjV94aV7Gy5dYN6tczILgQsOJ8sGmw4lTDIBqIsLypTrol
xYnWLPDl0fNgUH6qPeHLinO5QLWtZS3x8TycUtc+OFsI2nCprGdvazc38hc7cEvRznZvWM0eXlpnAcBCDJUgam+6wk3JYLuTOQy
rinnT2YjEZpniWq02Ow9Aw686RmbHLlEW4loTeZQ1ecdyy+YrRNbINrUFpc0wyQEqNNcyujcjaffm1S2F11sMLtggo9cckwDisK
WlPPOeNTZjC6KgWrL7Nsc1sVZcPUCrqxra2nGE2h25RcOT+eS5+bvo3S2sVlawOrkRJ4bFi5XXjPRb3kRBlR2o++I9p8ag9ql52
j3eUVWfEl1VmsB1RJhGdBVy31qzJ94tUAZlLrbIq49FNrc0XsigjnXl2xmEtnLmWuWsRu8RAjTqocSgWXMsc0No5lmQy6C43SHt
LN2HHJ9VxqDwvfp9zcRVrQfK2mT2Te7SBaye3d46+rG7qZKFkNkZPLzEeL1h6LhHbmbI0HHRgeXt+tiMwd+sCToZIOfZWV+jJno

71 :デフォルトの名無しさん:2013/03/26(火) 11:42:52.12 .net
R1ZxcUt131hoccoYhg+wru6lwobZPMkweCmbQxHqdPZRVznyqbUDZPVkwmHLn34t16qXpaslrD7cAsL20WlNAZ6M8tr2ERrh7Bg
uN/Ola9MWE1ELs7LmbNAAKoGE/iAHt7ICe64QZmOEYdyWgfoo4fa7oU/nQZo1C4MYQCef9n2yGnhXr+ekrB5SjogdW2+zxrRgHW
7QKUKYpC+Int3cWd+dcz+kdzDadd4UiQioGcfMe4xLgvYrKFDkNB4RN7eMFgD9HLj8uV0J9xNvi/X9DQ/U9+SZZTTQvWUyzchNE
z0Fgh6XdgmMrUPPTLOD6Dt9lGxytybIXIWdK/vWRk9ZijYO1HhF+ItG3Rw8M2LGMGFBeO9fmmPdQa72uqJPsZOvgmLsSYXBFjN5
6gjbE10YHlfT1wo6ECnSE9v9/GYEzBZV8ttOgNJiZVS0FgO8aCuwq3l8TtsziMSYkQa9ydGb+r16mKtvqY31GSsETRidHVw2cw3
VyBR9DlYdrqea2fISdLiTm0mlVaZgSbJZa2rKy3EVfDSFpJ2Td1+UDrOUAn5jj+I+HZE1cg6Y9yIqWQtHxignRJqV6mNwSBpy9c
KIkzsxCyL/Gr2FtVSoXFCU2/yeJXA8pZHdi4hEOiK3QnqkdEQ0GT8ZnnlVehaYAcX5sYNT+5yHeNR7zPak1VphR9A444Vw8V9C2
5YpUDR5foIHndZcwmWHQuZ5Fe4mkjdsog82+7PYs7jCbjUFws0MXn1FDxaeAmLY6lgxzmdUsC26LV8uvoU4AuBLdEaKULmoFs70
oCm3ZTrUOneYDkjrAWzRYUtIU3X4epjjy1aJ1Rx9ds5f7oaJPOGYCzbdm0JpevGgbHUPLVQKpYA5gaVeHmzcOHWk17aAxrsQExM
4FYgrecBvwbPCxob0nDC7iM3Q81Dw1wGOV/TFhfO9YM1NtrhzLVd7RZUuvOdhmyCm9vVj83oYu7NirrpaKbyyTpO7SDzAd8Xt1x
znZmjypQaoUrzagIbkFjq7hm6msm6ZjczINEC2usVuUPGlVMV3+lAB6aofg0Y3pJghKpm7YIZ2dgzQ7NXqucwxMSo0R48FN9QfF
x7CDc3GbFIBk4zxijTrOlhdb/kO6aZD5MY5rFUc/tKlMKxcckeQgWaaGVO/pydYulQ/OhiLCG95jXnjRfVUDmGnJ8UxmcA75gWV
IBG2gETRJw2QYDRQ2h9IkACJK0eug1uUxhDpV49ogKcli1dMYHOS1c/L550K5MeIfh9KPViMfuVXXqjpp0e6oICyEtAPJ/hUVdv
Zj0yGurUnJBLI9CrSXFOLBqZL8dRjvbRzHhbFQfmaFrwskZn86kgwoZPjGWpJ30TSDPZewewxyOdIoDjLLlELO0IZVwQ1qVuGbL
S1hSL/Z3RrkAJM31/d5EL43slF0cKc6w9treyFhDopXWuvRnLXjOhqY6z5kUGdWuTkzW5hWhatIPU0E/KEmCblUk26SYf6ZsluV
lLv5U5aZgVKQ3pg65Ejl77NoaHY2Mggd6LRQfyH/4GzWeSteTQBloJSaEneOvquzz3vS66dyKs9rj00+yZhHCAS/1wLRrFvOHG1
SopWK0Vm7foJn1EKeBep+J8fqb66sXTPKwG/tgDbIRA72wfy5DzLT3MHQ0IENe8G4UhsJ1BZfZ0N+ezWcDZLOImnsvNVZ/12A0G
ppdo+EnM2L0K1rSxLqspn8hbtgbxSCmZrpDTEIyUpQsjUIEqSmx4Vyaae+wVqn5mTpw6Bhc4Y6/NxUv8umCf2tlTThpitvDA9vt
zlnG54loV4E17JrG1F32+NVVCDHgaalQtvtMWuRMsrGrKtQBlOONucXXl+tYB/SWB/Es73Cn7iZagzhB2GxE2GJcJgEu+dHEwEA

72 :デフォルトの名無しさん:2013/03/26(火) 11:54:13.50 .net
FAjI0cMd6o8FYaZdkYE7pxdg1hLe3LpxGTZAST7vOZnYJiB4DrOOeG2bNPAUi4xhd3tjkZ07FLHIuo3nDf57O5XXTQhkmzlR+pV
8GBme3ZQj/FhqlHNzz+7QNvc1W6ygDJtOr0RDJsDJTyHlB7tjM9l1QhziPZTqLZTTNV/+GuXTLbqruec/R0wzocO3KzxjQlgiq4
nMAutnIRZuUxLnVP+BBrnE47GcSZXcxgbQN8l6tzoY1O44blk9saPd16Xlqydg+dSEPDZS1HsReRi5TJq7lUPAISKldSR1JASWn
vnjfkiLIengzR6Lm1hFzocfS85Hw/1ckqF97l9jjLhMzPWo7yd6VSRBhYRTri+UcCcKHv2rKxnLgjrw6EDMrmvsHL/sY84zgqAr
t6QJaQFxbFLaJb8QBgGcoJ769t6BsLIbcgNkGitOUFENzEhi6VmcqW+rnH947w6FynyL7fSaRFgSJc81MPgax1yrl6VZXoZJ05s
MAfinKWrnC0dvqNFsk4WEIrnZTWjVowp1dntnT+mskXxrzDpZHFt21YzQDDInxPvDbT+SKG8Agup5TbY5yzrNvjtKYoaeuw2Dwo
9bhJYc+TuBAOcBWCVcxcQ1+qznwibWcCJ57lQBGXjCQqs62qLoS1bFrthJGpRwktYc/5klua4pbEE32K3PNq1oIN2ewglzkWdeF
FshQZ0N73jFbLZ1PrreN0iZNtMLlwQsHKOGPp3i0XSNM4zBIu136awRDOcBldC9snjnRjxtWHqM2H9dVwwtHG8g2UPSEF2GPd5V
kEhEqr6MVyS1VsiVCWI50Vy9kFi/ZZREs2WKEIdlyapDpFyQ+nvmAS/0jNe8hSLqI8nPjIp3FeB5iubDjfpTyGvo/LpawMzNloL
RbLQgIjdUJvCy3x+qTFTDhmuimON38WE9UamAVkfIN4pFhkhS68ouPpWvFpGyqJkl8TqNWAKDVREM6j1eNLcCOXYb7p8KIJ0DGr
ElBnz4OcgCznY8lgdZx2h2SqQgQjRaOW4byLSwiK0RXU6NTCdTD2UYJK4yL5w5kH94BGEPGMn7ZBjgYUUaEjF528SSdsdbORJ8p
gdamjqH1O/GPeBq1rbBZ65y9V7PoPPKuF00LH+oJEP2pB5Y5hX88wdP729s8q1Dv4+g6+vlc6Xr4z/Sn+CmNnFPz2Nh236yT+KE
99+YDesvjzVAdN1fbRMHw+qK8/fxSv/pT08tJH49TXn6C3q3VjPqVLHX7ho5GJhmJsWuujhvb55e3K0J/SMPhooj+/s35gVVQdM
N1H3hjRx0DemPll9M4Jg4NCCYZCPj4dF6L2/5CobKy89p34ioLg66Hvv3RoyvC9z+cfwIselVEw3v38+P78fdTXd6kvb8cNgir/
xMDj80Paq3UVDPbG6vrL278Xxz5cAwAv/14Ow9CPetjhs3efZr9gKJB/+5NTfAFfqy8QjL8Vvx4PALxWv/32BfoP+s/Voen4yNa
o/IdG+S84ULxmrx9FsPj9OSKXfdf5PxT+Fxt0jabvD+fl7f81/Lt3Xt6Yo3GM/tH4L9B7AD64L2/aAXhD9CNsrx9x+RF08O2P/w
UBPgSo

73 :デフォルトの名無しさん:2013/10/28(月) 14:38:54.10 .net
spamかと思ったらbase64か

74 :デフォルトの名無しさん:2013/12/23(月) 22:24:51.29 .net
>>17
4年が経とうかという書き込みにレス。
XOR 使う方法も同じだけど、大抵は素直にテンポラリ使った方がコード面もスピード面もいいんだよな。
コードが増えても RAM は1バイトたりとも使いたくない場合にのみ有効なワザだな。
ROM は数十KB 載ってるのに RAM は 256 バイトぐらいしかない組み込みとか。

75 :デフォルトの名無しさん:2013/12/24(火) 00:19:00.39 .net
ループ内でレジスタを全部使いきっちゃった場合に使えるのかも

76 :デフォルトの名無しさん:2013/12/24(火) 09:24:17.82 .net
それでもメモリに余裕があるならテンポラリ確保する方が良策だな。
いまどき組み込みでも値交換のテンポラリすら確保できないような状況は
なかなかないよな。

しかしすごいね、見てる人は見てるんだな。

77 :デフォルトの名無しさん:2013/12/24(火) 10:13:18.47 .net
専用ブラウザ使ってたらねぇ。

それはさて、メモリに余裕がなくてもレジスタがあるなら要らないノウハウだよ。
つーか、下手なコンパイラだと余計にメモリを喰いそうだ。

78 :デフォルトの名無しさん:2014/01/13(月) 17:02:39.14 .net
メモリを使うよりは速い

79 :デフォルトの名無しさん:2014/01/13(月) 19:21:46.60 .net
10年くらい昔、どっかのサイトでCを使って
「TRUEとFALSEを交互に返す関数」の作り方について解説があった

if文で実現する奴  :初心者プログラマー
not演算で実現する奴:並プログラマー
xor演算で実現する奴:上級プログラマー

当時学生だった俺はえらく感銘を受けたが
現在はxorで実現する奴を開発チームに入れると禍根を残す気がするのだ

80 :デフォルトの名無しさん:2014/01/13(月) 22:40:47.87 .net
10年後になると、「notだろうがxorだろうがandだろうが、たいした差は無いな」
と思うよ

81 :デフォルトの名無しさん:2014/01/13(月) 22:43:52.15 .net
>>57
またもやウン年前の書き込みにレス。

アキュムレータの下位4ビットをキャラクタコードに変換してる。
メリットはジャンプ命令を使わずに書けることかな。
Z80 なら、

CP  0AH
CCF
ADC  30H
DAA

とも書けるけど、>>31 の方が汎用性が高いな。

82 :デフォルトの名無しさん:2014/01/13(月) 22:44:46.46 .net
そういう意味じゃないだろ。くだらないトリックではなく、本来の意味に沿ってプログラムを書かないと、
メンテナンス不能につながっていく、ということを>>79はいいたいんだと思う。

83 :デフォルトの名無しさん:2014/01/13(月) 22:54:55.96 .net
スレッドセーフなのか気になる

84 :デフォルトの名無しさん:2014/01/18(土) 13:02:24.39 .net
>>79
xorで実現する奴:booleanの概念を持たない老害C(≠++)プログラマー

85 :デフォルトの名無しさん:2014/01/24(金) 09:45:25.41 .net
要件通りのコードを書くのが正解。その手のトリックはコンパイラを作る人が必要なテクニック。

86 :デフォルトの名無しさん:2014/01/24(金) 10:17:20.71 .net
すれ違い

87 :デフォルトの名無しさん:2014/01/26(日) 09:35:23.45 .net
>>84
if(hoge == TRUE)…というコード書いて問題になったことがあるんだな。正直に言ってみろ。

88 :デフォルトの名無しさん:2014/02/05(水) 14:17:47.80 .net
#include <stdio.h>
int main(int argc, char* argv[])
{
int x = 10000000;
int y = 1;

x = x ^ y;
y = x ^ y;
x = x ^ y;

printf("x=%d, y=%d\n", x, y);
return 0;
}

Output:
x=1, y=10000000

89 :デフォルトの名無しさん:2014/02/05(水) 14:47:34.79 .net
4bitあれば証明には十分

90 :デフォルトの名無しさん:2014/03/31(月) 20:58:04.99 ID:jZUG5SzL.net
パズル的なコードで感動する人が多いのね。

個人的に目からウロコだったのはsuckless.orgのMakefile全般。
http://git.suckless.org/st/tree/Makefile?id=3c546ae73924804ddc6d29dc3ab2f12a93287009
GNUのツールは猫も杓子もautoconfで人間が読めないMakefileを吐き出すものだから、
Makefileは人間の書くもんじゃねえとかscons他モダーンなビルドシステムの方がいいとか思ってたんだが、
↑のを見てからむしろ他のビルドシステムが面倒に思えるようになってきた。

91 :デフォルトの名無しさん:2015/02/05(木) 23:16:56.03 ID:5/RSARoZ.net
#define ZERO 1

GNUでよく見かける。

92 :デフォルトの名無しさん:2015/02/05(木) 23:40:37.49 ID:7ArXIVK3.net
ワロタ

でも #ifdef で分けるのに使うマクロは 1 なんだよな

93 :デフォルトの名無しさん:2015/02/12(木) 16:15:36.77 ID:1WRWm2Rj.net
無名高階関数があればifやswitchなしで分岐作れるんだって感動した

Object subclass: #True.
! True class methodsFor: 'testing' !
ifTrue: aTrueBlock
ifFalse: aFalseBlock

^ aTrueBlock value.
!!

Object subclass: #False
! False class methodsFor: 'testing' !
ifTrue: aTrueBlock
ifFalse: aFalseBlock

^ aFalseBlock.
!!
| boolean |

boolean := True.
boolean := False.
boolean ifTrue: [ 1 ] ifFalse: [ 2 ].

94 :デフォルトの名無しさん:2015/02/12(木) 16:18:17.17 ID:1WRWm2Rj.net
valueが抜けてた。

Object subclass: #True.
! True class methodsFor: 'testing' !
ifTrue: aTrueBlock
ifFalse: aFalseBlock

^ aTrueBlock value.
!!

Object subclass: #False
! False class methodsFor: 'testing' !
ifTrue: aTrueBlock
ifFalse: aFalseBlock

^ aFalseBlock value.
!!
| boolean |

boolean := True.
boolean := False.
boolean ifTrue: [ 1 ] ifFalse: [ 2 ].

95 :デフォルトの名無しさん:2015/02/17(火) 17:11:11.79 ID:sT/CiA2T.net
Cでも三項演算子で分岐できるやん
だが無名のブロック作れると喜んで複雑化するのは破滅の入り口
そこであえて踏みとどまって名前つきブロック/関数にすべき

96 :デフォルトの名無しさん:2015/02/18(水) 02:37:00.51 ID:QTgMdBtY.net
>>95
わかってねーなー。
分岐や反復に専用構文が必要なくて、
言語機能が簡素になんのがいいんじゃん。
お陰で分岐だけじゃなく、C#なんかで使われる次世代の構文だって
言語機能の拡張なしで使えるんだぞ。

"以下usingを使ったexample.txtにvalueと書き込むC#の処理と同等の処理。"
'/tmp/example.txt' asFile withWriteStream:
[ :aStream |
aStream nextPutAll: 'value'.
].

97 :デフォルトの名無しさん:2015/02/28(土) 18:45:17.20 ID:LrNX9W7z.net
三項演算子はリテラル以外禁止だと前の会社で言われた

98 :デフォルトの名無しさん:2015/02/28(土) 18:54:09.47 ID:st/D/r/c.net
勤怠管理システムで残業0
http://www.fsas.fujitsu.com/service/idlm/
定時で強制ログオフシャットダウン
省エネ効果抜群

99 :デフォルトの名無しさん:2015/03/01(日) 00:41:40.88 ID:KvRPiAMx.net
awkだけど、最近ここで見た回答がすごいと思った。
2つのテーブルデータを合体させるとき、連想配列を使えば、
要素が同じか否か、という条件分岐を使わなくてもいいんだね。
たった1行で、しかもLinuxのjoinコマンドよりも融通が効くところがなおさらイイ。

How to merge two files using AWK?
http://stackoverflow.com/questions/5467690/how-to-merge-two-files-using-awk

$ awk 'FNR==NR{a[$1]=$2 FS $3;next}{ print $0, a[$1]}' file2 file1

100 :デフォルトの名無しさん:2015/03/03(火) 23:36:31.83 ID:StzQ6W23.net
>>97
printf( a ? "成功\n" : "失敗\n");

が書けることを地力で発見して感動して使いまくってたら
なんか微妙な顔されたことがある。

101 :デフォルトの名無しさん:2015/03/04(水) 07:46:28.47 ID:UWB+qgaN.net
普通
printf("%s\n", a ? "成功" : "失敗");
あるいは
printf("%s\n", ["失敗", "成功"][a]);
って書けると良いね

102 :デフォルトの名無しさん:2015/03/14(土) 15:46:47.22 ID:ZPmTfQbC.net
>>101二つ目知らなかったけどバイナリを添え字ってのはちょっと抵抗が。。

ところでJavaScriptの関数リテラルみたいなのが他の言語にも実装されたら直感的にかけると思うの!

103 :デフォルトの名無しさん:2015/03/19(木) 23:58:26.08 ID:R5h2QGKb.net
// この部分はサワルナ!

104 :デフォルトの名無しさん:2015/06/07(日) 04:42:56.99 ID:+3hya87E.net
Dan plays Deus Ex 1 - First Time Playing
http://www.twitch.tv/dansgaming

105 :デフォルトの名無しさん:2016/08/07(日) 17:05:15.45 ID:fH23byCM.net
Erlang万歳

106 :デフォルトの名無しさん:2016/08/07(日) 23:40:36.63 ID:8kEt+rxK.net
Elixirだろ

107 :デフォルトの名無しさん:2016/08/08(月) 09:23:39.33 ID:bsQ3M/kD.net
c#6.0だと
string a="";
if(hoge !=null && hoge.hage !=null) a=hoge.hage;
 ↓
var a =hoge?.hage??"":

108 :デフォルトの名無しさん:2016/08/14(日) 09:28:18.90 ID:Dug1tlBQ.net
IOCCC(国際難読化 C コードコンテスト)のプログラムはすごい

1987年の作品だけど
main() { printf(&unix["\021%six\012\0"],(unix)["have"]+"fun"-0x60);}

こういうプログラムがたくさんある(これは unix と出力するプログラム)

109 :デフォルトの名無しさん:2017/03/07(火) 16:22:40.06 ID:DO9cEIcz.net
プログラムコードの柔軟性を持った言語って無いのかな

ifの書式で言うと、
if exp then block elseif block else block end
if (exp) { block } else if (exp) { block } else { block }
が俺の知る言語での主な書式なんだが、
expへの括弧の有無、blockを囲むのがthen endか{}か、elseifかelse ifか、言語毎の方言に毎回躓いてだるい

こう言うのって基本書いてる事は同じだから、コード走らせるときの前処理とかで吸収できるよな?
20年ほど前に比べると、プログラミングについてのノウハウみたいなものがこなれてきて使いやすくはなってきたと思うけど
もう一皮くらい剥けてプログラミングし易くなってくれたらいいんだけどな

110 :デフォルトの名無しさん:2017/03/07(火) 18:05:00.53 ID:sN5zB8qN.net
>>109
その問題は pascal が素敵に解決している
pascal は LL(1)言語

111 :デフォルトの名無しさん:2017/03/08(水) 13:50:57.20 ID:jMX+hATM.net
>>109
julia

112 :デフォルトの名無しさん:2017/03/09(木) 09:39:51.17 ID:hS5pjfRn.net
>>111
julia は end が要るだろ。

113 :デフォルトの名無しさん:2017/03/09(木) 19:53:34.25 ID:LKSg58e8.net
macroがあるよ

114 :デフォルトの名無しさん:2017/03/10(金) 03:00:53.00 ID:eBvZbI3A.net
全部英単語で構成されるのと適度に記号が混ざるのとどっちが見やすいんだろう
個人的には後者だけど

115 :デフォルトの名無しさん:2017/03/10(金) 09:12:49.72 ID:OTPF9/DX.net
全部日本語でよろ。

総レス数 115
31 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★