인터넷이 안 되고 따로 프로그램을 깔 수 없는 윈도우에서 프로그래밍을 하는 방법이다.


눈물겹다.


웹브라우저와 메모장으로 HTML, Javascript, AJAX, VBScript, JScript, CSS 프로그래밍

윈도우 2000, XP 이전이라면 내장된 qbasic으로 프로그래밍

도스셸에서 배치 프로그래밍

debug.exe로 어셈블리 프로그래밍. 컴파일러를 만들 수도 있음.

자바 JRE가 깔려 있으면 웹브라우저와 메모장으로 자바애플릿 프로그래밍

윈도우스크립트호스트가 깔려있으면 WScript, JScript 프로그래밍

윈도우 최신 버전이면 파워셸로 셸프로그래밍

제어판에서 IIS 깔 수 있으면 ASP, ASP.NET 프로그래밍

닷넷프레임워크 깔려있으면 닷넷 프로그래밍

마이크로소프트 오피스가 깔려있으면 VBA 프로그래밍, 매크로 프로그래밍

마이크로소프트 Access에서 SQL 프로그래밍, 폼 디자인

한컴한글이 깔려있으면 매크로 프로그래밍

포토샵이 깔려있으면 매크로 프로그래밍

윈도우에 기본으로 내장된 프로그랭 중에서 생산적인 것은 메모장, 그림판, 워드패드, 녹음기, 무비메이커, 사용자정의문자편집기, 계산기, 주소록, 스티커 메모, 캡처도구, CMD, COMMAND, PowerShell, edit.exe, jsc.exe, cscript.exe

인터넷이 되면, 기타 온라인 IDE, 무료 IDE 다운로드

파이어폭스나 크롬이 깔려있으면, 개발 관련 확장기능을 다운로드

프린터, 공유기 해킹 가능하면 프린터 내 유닉스 계열 프로그래밍

스마트폰이 있으면 개발 관련 앱 다운로드

공학계산기가 있으면 내장 인터프리터 언어 프로그래밍

종이가 있으면 의사코드, 순서도, ER 다이어그램 그리기



다음은 작은 크기의 컴파일러를 생성하는 방법이다.


Obfuscated Tiny C Compiler

http://bellard.org/otcc/


Tiny C Compiler

http://bellard.org/tcc/


Bootstrapping a simple compiler from nothing

http://homepage.ntlworld.com/edmund.grimley-evans/bcompiler.html


Brainfuck, An Eight-Instruction Turing-Complete Programming Language
http://www.muppetlabs.com/~breadbox/bf/


What is the smallest self-hosting language?

http://compilers.iecc.com/comparch/article/03-01-133


debug.exe tutorial

https://www.google.co.kr/webhp?hl=ko&tab=ww#hl=ko&newwindow=1&output=search&sclient=psy-ab&q=debug.exe+tutorial&oq=debug.exe+tutorial&gs_l=hp.12..0.1017.1017.0.5062.1.1.0.0.0.0.300.300.3-1.1.0...0.0...1c.eSzCVmPttBA&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=e879c76b19c64c91&biw=1302&bih=681


PowerShell Byte Array And Hex Functions

http://www.sans.org/windows-security/2010/02/11/powershell-byte-array-hex-convert


Binary <-> Hex String files with Powershell

http://waynes-world-it.blogspot.kr/2008/05/binary-hex-string-files-with-powershell.html


javascript create binary file

https://www.google.co.kr/webhp?hl=ko&tab=ww#hl=ko&newwindow=1&sclient=psy-ab&q=javascript+create+binary+file&oq=javascript+create+binary+file&gs_l=hp.3..0i19.41165.50932.1.51028.29.16.0.12.12.3.464.4464.2-13j2j1.16.0...0.0...1c.q0xZ4fDJnDE&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=e879c76b19c64c91&biw=1302&bih=681


vbscript create binary file

https://www.google.co.kr/webhp?hl=ko&tab=ww#hl=ko&newwindow=1&sclient=psy-ab&q=vbscript+create+binary+file&oq=vbscript+create+binary+file&gs_l=hp.3..0i8i30.46762.48428.2.48634.6.6.0.0.0.4.253.1162.2-5.5.0...0.0...1c.AeFztCBdW0U&pbx=1&bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&fp=e879c76b19c64c91&biw=1302&bih=681


---

2013. 4. 26.


그림판으로 코딩하기



---

2016.8.26.


종이로 만드는 컴퓨터


CARDboard Illustrative Aid to Computation

https://en.wikipedia.org/wiki/CARDboard_Illustrative_Aid_to_Computation


CARDIAC 2

http://potatomatoblog.weebly.com/home/cardiac-2


Paper processor

https://sites.google.com/site/kotukotuzimiti/


Little man computer

https://en.wikipedia.org/wiki/Little_man_computer



---

2017.1.8.


윈도우에 내장된 자바스크립트 컴파일러와 기본 스크립트 호스트


C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\jsc

http://www.phpied.com/make-your-javascript-a-windows-exe/


cscript 기본 스크립트 호스트

http://www.phpied.com/javascript-shell-scripting/




신고
Posted by aaidee 아아이디

댓글을 달아 주세요

http://shootout.alioth.debian.org/


https://www.ohloh.net/languages/compare


http://en.wikipedia.org/wiki/Measuring_programming_language_popularity


http://lang-index.sourceforge.net/


http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html


http://langpop.com/


http://lui.arbingersys.com/index.html


http://www.indeed.com/jobtrends


http://www.simplyhired.com/a/jobtrends/home


http://www.flexjobs.com/trends


http://www.google.com/trends/


http://trend.search.daum.net/SearchTrend/index.html



프로그래밍 언어 벤치마크 게임

제일 짧게 프로그래밍할 수 있는 언어는 무엇일까?

PHP 프레임워크 벤치마크 자료


2012.9.13.

The RedMonk Programming Language Rankings: September 2012

http://redmonk.com/sogrady/2012/09/12/language-rankings-9-12/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+tecosystems+%28tecosystems%29


2012.9.14.

http://attractivechaos.github.com/plb/


2012.10.24.

http://www.google.com/trends/explore#q=python%20language%2C%20ruby%20language%2C%20groovy%20language%2C%20lua%20language%2C%20scala%20language&cmpt=q


http://shootout.alioth.debian.org/u32/which-programs-are-best.php


http://shootout.alioth.debian.org/u32/which-programs-are-best.php?calc=chart&gpp=on&ifc=on&java=on&ghc=on&sbcl=on&csharp=on&v8=on&hipe=on&lua=on&vw=on&php=on&python3=on&jruby=on&perl=on&yarv=on&xfullcpu=0&xmem=0&xloc=1&nbody=1&fannkuchredux=1&meteor=0&fasta=1&fastaredux=1&spectralnorm=1&revcomp=1&mandelbrot=1&knucleotide=1®exdna=1&pidigits=1&chameneosredux=0&threadring=0&binarytreesredux=0&binarytrees=1


http://shootout.alioth.debian.org/u32/which-programs-are-best.php?calc=chart&yarv=on&perl=on&jruby=on&python3=on&v8=on&lua=on&php=on&vw=on&hipe=on&csharp=on&ifc=on&java=on&ghc=on&gpp=on&sbcl=on&xfullcpu=0&xmem=1&xloc=0&nbody=1&fannkuchredux=1&meteor=0&fasta=1&fastaredux=1&spectralnorm=1&revcomp=1&mandelbrot=1&knucleotide=1®exdna=1&pidigits=1&chameneosredux=0&threadring=0&binarytreesredux=0&binarytrees=1



http://www.google.com/trends/explore#q=django%20framework%2C%20ruby%20on%20rails%20framework%2C%20codeigniter%20framework%2C%20yii%20framework%2C%20symfony%20framework&cmpt=q


http://www.google.com/trends/explore#q=codeigniter%20php%2C%20yii%20php%2C%20ruby%20on%20rails%2C%20django%20python&cmpt=q


2013.1.4.


http://raid6.com.au/~onlyjob/posts/arena/


2013. 3. 15.


http://langpop.corger.nl/


2013. 10. 16.


http://blog.gmarceau.qc.ca/2009/05/speed-size-and-dependability-of.html


http://onionstand.blogspot.kr/2009/06/fast-concise-and-reliable-code-try-perl.html


http://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/


2014. 1. 3.


https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language


http://www.computerworld.com/slideshow/detail/98085#slide1


2014. 2. 6.


http://blog.codeeval.com/codeevalblog/2014#.UvJiq_iLelM


2014. 4. 11.


http://dada.perl.it/shootout/


2005.1.1.

http://redmonk.com/dberkholz/2013/03/25/programming-languages-ranked-by-expressiveness/


http://redmonk.com/sogrady/2013/02/28/language-rankings-1-13/


http://redmonk.com/sogrady/2014/01/22/language-rankings-1-14/


http://redmonk.com/sogrady/2014/06/13/language-rankings-6-14/



2015.5.18.

http://raid6.com.au/~onlyjob/posts/arena/



2015.7.23.

http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages

신고
Posted by aaidee 아아이디

댓글을 달아 주세요

  1. 오호 2012.10.14 16:51 신고  댓글주소  수정/삭제  댓글쓰기

    아..이런것도 있었네요...프로그램 벤치라..
    좋은 자료 감사합니다.

프로그래밍 언어 벤치마킹 사이트입니다.
http://shootout.alioth.debian.org/

이 사이트는 언어 벤치마킹 사이트 중 제일 유명한 곳이고 내용은 각종 알고리듬을 언어별로 짜서 비교하는 겁니다.

언어 벤치마킹 x86 싱글코어 버전입니다.

http://shootout.alioth.debian.org/u32/which-language-is-best.php?calc=ca...

계속 루비가 1위를 하다가 최근에 파이썬으로 바뀌었습니다.

자바스크립트나 펄도 루비, 파이썬정도 분량입니다.

특히, 타입 선언이 없는 언어들이 분량이 적은 것 같습니다.

쿼드코어판에서는 파이썬3가 제일 짧다고 나옵니다.

http://shootout.alioth.debian.org/u32q/which-language-is-best.php?calc=c...

Time secs는 수행 시간, Memory KB는 사용 메모리, Code B는 gzip으로 압축한 용량을 나타냅니다.

GM이란 말이 이해가 안 갑니다.
http://en.wikipedia.org/wiki/Weighted_geometric_mean

For each benchmark, B is the best measurement; for each language implementation, the best measurement L is then normalized to L/B. GM is the Weighted Geometric Mean of those L/B ratios.

B가 수행 시도중 최대값이고 L은 언어 중 최대값인데 L/B로 정규화된다는 뜻인가요??

무슨 뜻이죠?

0,0,1을 입력하면 프로그램 분량을 벤치마킹할 수 있습니다.

전반적으로 파이썬, 루비, 자바스크립트, 펄, 루아, PHP가 분량이 적다고 나옵니다.

1,0,0을 입력하면 속도 비교가 됩니다.
http://shootout.alioth.debian.org/u32/which-language-is-best.php?calc=ca...

C++, C, Java 6 Server, Scala, Ocaml, Free Pascal이 빠르다고 합니다.

Mono C#이 자바 Server보다 느리고, 파이썬보다 캐시 없는 PHP가 두배 이상 느립니다.

Java 6 Server와 Scala는 속도가 비슷합니다.

1,0,1을 입력하면 속도와 분량을 같이 가중치두는 것입니다.
http://shootout.alioth.debian.org/u32/which-language-is-best.php?calc=ca...

이 순위는 C, C++, LuaJIT, Scala, Ocaml, Java 6 Server, Free Pascal, Haskell, Clean이 상위입니다.

Scala나 Ocaml같은 함수형 언어가 분량도 적고 속도도 씨정도로 빠르다니 매력적이네요.

실제 프로그래밍에 걸린 시간을 측정하는 벤치마킹도 나왔으면 좋겠습니다.


추가:
Which programming language is best? The Weighted Geometric Mean
Read "How not to lie with statistics: the correct way to summarize benchmark results" (pdf).

For each benchmark, B is the best measurement; for each language implementation, the best measurement L is then normalized to L/B

GM is the Weighted Geometric Mean of those L/B ratios.

missing : Language implementations with more than a couple of Timeouts (at the largest workload) distort the ranking - so they have been excluded. They can still be compared directly against another language implementation.


다른 결과 지문과 표를 잘 읽어보니까 each benchmarks는 각각의 알고리듬을 얘기하는 겁니다.

each language implementations는 각각의 다른 종류의 언어를 뜻합니다.

언어1(c++) x1.0, GM1.14: 알고리듬a(regex-dna) a1초, 알고리듬b(reverse-complement) b2초, 알고리듬c(n-body) c3초
언어2(c) x1.2, GM1.42: 알고리듬a a2초, 알고리듬b b2초, 알고리듬c c2초
언어3(java) x1.7, GM1.93:  알고리듬a a3초, 알고리듬b b3초, 알고리듬c c3초

이렇게 되어 있을 때 GM이 어떻게 나온 건지 아시는 분 계신가요?

c++가 1이라고 할 때 c가 1.2배인 것은 이해가 가는데 GM이 1.14인 것은 구체적으로 어떻게 나온 건지 모르겠습니다.

스프레드시트로 계산을 해봤습니다.

L/B를 일단 구해야 되는데요, L은 알고리듬a 결과가 제일 빠르게 나온 언어x의 값을 얘기하는 것 같습니다.

B는 구하고싶은 언어1의 알고리듬a 결과입니다.

즉 어떤 언어의 알고리듬a 결과를 제일 빨리 나온 언어x값으로 나눈다는 뜻입니다.

나온 알고리듬a부터 알고리듬c까지를 전부 곱해서 3제곱근을 구하면 기하평균이 GM보다 약간 큰 값이 나왔습니다.

가중치를 어떻게 곱하는 건지 모르겠습니다.

가중치를 곱할 때 어떤 걸 가중치로 썼다는 걸까요?

알고리듬 중요성별로 가중치를 두었다는 뜻 같은데요.

그러니까 정리하면 GM이란 정확히말해 가중기하평균을 얘기하는 거고 그건 어떤 알고리듬들을 제일 빨리 수행한 언어들 대비 몇 배 느린가를 평균낸 겁니다. 만약 각 알고리듬을 모두 제일 빨리 수행하는 가상의 언어가 있다면 그것에 비해 몇 배 느린가를 뜻하는 거죠.

X는 GM이 제일 빠른 언어가 있을 때 다른 언어들의 비율입니다.

관련 소스는 여기에 있습니다. 템플릿이 사용되어 구조가 이해가 안가네요.
https://alioth.debian.org/scm/viewvc.php/shootout/website/lib/?root=shootout

신고
Posted by aaidee 아아이디

댓글을 달아 주세요

  1. ray ban sunglasses sale 2013.04.14 08:00 신고  댓글주소  수정/삭제  댓글쓰기

    매우 지원, http://ntu.acelg.org.au/top.php nike shoes, 아주 좋아.

'$ shutdown -h now'가 아닐까?

컴퓨터만 많이 하면 건강 나빠지니까.

음성인식 되게 해서 "꺼져버려!"라고 고함치면 바로 꺼지게 만들어도 좋겠다.

2005년 9월 13일 씀

신고
Posted by aaidee 아아이디

댓글을 달아 주세요

  1. Gucci sacs 2011.12.29 11:43 신고  댓글주소  수정/삭제  댓글쓰기

    식 되게 해서 "꺼져버려!"라고 고함치면 바로 꺼지게 만들어도 좋겠다.