일부는 재미를 위해, 일부는 가설의 존재를 증명하거나 반증하기 위해, 일부는 뇌를 훈련하기 위해(클라인 병 표면이나 4차원 공간을 여행하는 등) 수백 명의 사람들이 "난해한" 프로그래밍 언어를 만들었습니다. 나는 이 언어 중 약 150개를 겪었고 다시는 예전과 같지 않을 것입니다.

"아아!", "으악!", "2-ill", "Nhohnhehr", "Noit o" mnain gelb", "DZZZZ", "Ypsilax", "YABALL", 엿같은 - 이건 주문이고 시는 이름일 뿐이야 ... catom 아래 - 가장 눈길을 끄는 프로그래밍 언어로 된 코드 예제입니다.

토끼굴은 깊습니다.

INTERCAL(튜링 완료)



돈 우즈와 짐 라이언

가장 오래된 난해한 프로그래밍 언어 중 하나입니다. 제작자에 따르면 해당 이름은 "발음할 수 없는 약어가 없는 컴파일러 언어"를 의미합니다. 이 언어는 1972년 Don Woods와 James M. Lyon 학생이 기존 프로그래밍 언어와 정신 체조를 패러디하여 만들었습니다.

안녕, 세계

각 프로그램 명령에는 프로그램이 시작될 때 실행될 확률이 주어질 수 있습니다. 또한 특정 유형의 후속 명령 실행이나 변수 변경을 차단하는 명령이 있습니다.

안녕, 세상!

// Stephen McGreal의 "Hello World".
// 이 소스 코드에 표현된 뷰가 반드시 소스 코드의 뷰와 일치하는 것은 아닙니다.

Gr34t l33tN3$$?
으흐…
41n"t s0 7RickY.

L33t sp33k는 1t through 7hink에 도달할 때까지 4nD eA5y입니다.
1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;피
w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 CL4nS r 7eh 1n teh 3nTir3 world!!!
g4m3s wh3r3 u g3t에서 5h00t ppl r 70tAl1_y w1cK1d!!!
나는 당신의 fr4GM4stEr이고 나는 t0t41_1당신의 h1dE로 당신의 phr34k1ng fl00r ***j3d1 5일***을 닦아줄 것입니다!!! ㅋㅋㅋㅋㅋㅋ!
내 m8tes r34lly k1kK$ A$$와 함께 t3lEphR4gG1nG l4m3rs

L33t haxX0r$ CrE4t3 u8er- k3wL 5tUff like n34t pr0gR4mm1nG 언어$…
s0m3tIm3$ teh l4ngu4ges는 l1k3 rE41_ 0nes 7o로 만들어 주세요. th1nk th3y"r3 ju$t n0rMal Lee7 5pEEk 하지만 th3y"는 5ecretly c0dE입니다!!!
n080DY under5tAndD$ l33t SpEaK 4p4rT fr0m j3d1!!!
50mE 꼬마가 나에게 $$4gEb04rd m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf, 0r mayb3 ju5t show 0w 7eh way5 l33t ppl은 8E 더 y0d4처럼 될 수 있어!!! 그 사람 i5 teh u8ER!!!
1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
1t 3v3n MiTe jus7 s4y “H3LL0 W0RLD!!!” 당신은 gu3s5를 할 수 없습니다.
th3r3"s n3v3r a Any point l00King sc3pT1c4l c0s th4t, be1_1Ev3 it 0r n0t, 1s what th1s 1s!!!

5uxX0r5!!!L0L0L0L0L!!!

아놀드C

터미네이터 프로그래밍 언어.

안녕, 세상!

홈 » 프로그램 코드, 응용 프로그램, 오류 란 무엇입니까

수억 명의 사람들이 어떤 식으로든 매일 사용하는 Windows용 Word, WhatsApp 또는 브라우저와 같은 모든 소프트웨어나 온라인 서비스에는 특별 지침이 포함되어 있습니다. 또는 기계가 이해하는 특수 프로그램 코드가 무엇을 해야 할지, 무엇을 하지 말아야 할지 알려줍니다. 또는 사용자 작업에 적절하게 응답하는 방법. 이 기사에서는 어떤 프로그램 코드를 다룰 것입니다.

프로그램 코드는 기계가 이해할 수 있는 특수 언어로 실행되는 텍스트입니다. 이는 번역자의 텍스트에서 직접 수행되거나 컴파일러에 의해 특수 형식으로 전송될 수 있습니다.

소스 코드는 여러 파일로 구성될 수 있습니다. 모두 동일한 형식이어야 합니다. 여기에 포함된 프로그램 텍스트는 동일한 언어로 작성되어야 합니다. 그러나 몇 가지 예외가 있을 수 있습니다. 예를 들어 웹 개발에서 페이지 파일에는 여러 가지 프로그래밍 언어와 표준이 포함될 수 있습니다. 프로젝트의 복잡성에 따라 PHP, HTML 및 javascript, Java 등과 같은 언어 및 기술을 상상할 수 있습니다.

복잡한 소프트웨어 시스템에는 수백 개에 달하는 많은 수의 파일이 필요할 수 있습니다. 이러한 대규모 프로젝트에서 협업하기 위해 프로그래머는 버전 제어 시스템을 사용하는 경우가 많습니다. 이를 통해 특정 개발 단계에서 하나의 공통 코드로 결합할 수 있는 여러 소스 코드 복사본으로 동시에 작업할 수 있습니다.

코드 품질

컴퓨터는 코드가 좋든 나쁘든 어떻게 작성되었는지 이해할 수 없습니다. 상태가 양호하고 오류가 없으면 기계는 이를 실행합니다. 잘못된 코드는 소프트웨어 유지 관리 작업을 복잡하게 만들 수 있습니다. 이는 대규모 프로젝트의 경우 특히 그렇습니다. 일반적으로 고품질 코드는 다음과 같은 여러 매개변수로 특징지어집니다. 코드 가독성. 한 눈에 코드 조각이 구현되고 있다는 것을 일반적으로 이해하는 데 충분해야 합니다.명확하고 간결한 주석이 있어야 합니다. 이 설정은 프로그램 코드의 가독성, 디버깅 용이성, 테스트, 유지 관리 및 문제 해결에 큰 영향을 미칩니다. 복잡성이 낮습니다. 코드 최적화. 프로그램이 메모리, 프로세서 시간 및 디스크 공간과 같은 시스템 리소스를 덜 사용하는 방식으로 이를 구성합니다. 즉, 제어 프로그램에 도달하지 못하는 미사용 변수나 코드 블록입니다.

시스템이나 하드웨어에 해를 끼칠 수 있는 유용한 프로그램 외에도. 일반적으로 이러한 코드는 현재 프로세스의 이점에 관심이 있는 사람들이 작성합니다. 예를 들어 컴퓨터 사용자의 개인 정보를 훔칠 수 있는 프로그램입니다. 카드 번호, 여권 데이터 또는 기타 기밀 정보가 될 수 있습니다. 다른 것들은 단순히 시스템에 영향을 주어 충돌을 일으키고 전체 기능을 방해할 수도 있습니다. 좋은 코드 작성을 위한 팁

오랜 프로그래머인 Jeff Vogel은 초보자에게 좋은 코드를 가르치는 몇 가지 팁을 공유했습니다.

특히 그는 항상 코드에 주석을 달 것을 제안합니다. 리뷰란 무엇입니까? 이는 해당 코드나 함수 줄에서 무슨 일이 일어나고 있는지에 대한 명확하고 간결한 설명입니다. 특정 프로그램의 개발이 한 달 정도 지연되거나 심지어 일정 기간 중단될 수도 있다는 사실. 몇 달 동안 프로젝트 작업으로 돌아가면 숙련된 프로그래머라도 프로그램을 이해하기 어려울 것입니다. 그러나 자세한 설명을 통해 일련의 사건과 행동을 복원할 수 있습니다.

그는 또한 가능한 한 자주 전역 변수를 사용할 것을 권장합니다. 이는 프로그램 코드를 변경할 때 변수 값을 한 곳에서만 조정하면 되기 때문에 발생합니다. 함수나 프로시저의 값을 사용하면 이에 대해 즉시 알 수 있으며 새로운 데이터로 작업할 수 있습니다.변수 이름 및 오류 감지

변수의 정확한 이름은 코드를 직접 작성하더라도 프로그램의 소스 코드를 연구하는 데 소요되는 시간을 크게 줄이는 데 도움이 됩니다. 즉, 좋은 코드는 변수와 함수에 이름이 있는 텍스트이므로 이들이 수행하거나 저장하는 작업을 이해할 수 있습니다. 이 경우 긴 변수 이름을 사용하지 않도록 노력해야 합니다.

적시에 오류를 수정하는 데 큰 관심을 기울이는 것이 매우 중요합니다. 완벽하게 실행된 프로그램 코드는 무엇입니까? 이 코드에는 오류가 없습니다. 즉, 루프 분기나 변수 변경, 심지어 예상치 못한 사용자 작업도 항상 예상한 결과로 이어집니다. 이는 소프트웨어 제품을 여러 경우에 테스트하여 달성됩니다.

코드 오류 탐지, 아니 오히려 예측은 프로그램 설계 단계에서 가능합니다. 다양한 조건과 가능한 예외에 대한 코드 검사를 하면 코스 프로그램을 관리하는 데 도움이 됩니다.

컴퓨터 리소스를 효율적으로 사용하고 프로그램 코드 실행 시 오류를 방지하는 실행 가능한 프로그램을 작성하려면 최적화가 필요합니다. 최적의 프로그램은 무엇입니까? 명시된 기능을 모두 수행할 수 있는 제품으로 조용하고 경제적입니다.

거의 항상 안정적인 프로그램 작동을 위한 최적화는 다양한 플랫폼과 다양한 조건에서 여러 테스트를 수행해야만 달성할 수 있습니다. 프로그램이 예측할 수 없는 동작을 시작하면 원인을 파악하고 프로세스를 제거하거나 하이재킹해야 합니다.

코드란 무엇입니까? 간단히 말해서 컴퓨터에 대한 일련의 지침과 개념입니다. 여기에는 컴파일러나 인터프리터가 기계가 읽을 수 있는 언어로 변환할 수 있는 텍스트가 포함되어 있습니다. 즉, 본질적으로 코드는 사람과 컴퓨터 사이의 중개자로서 관계를 단순화합니다.

프로그램 및 게임의 소스 코드

소스 프로그래머에게 가장 좋은 책은 소스 코드를 작업하는 것입니다. 이 섹션에는 게임용 소스 코드, 네트워크 프로그램 및 검토용 소규모 소스 코드 등 다양한 방향의 소스 코드가 포함되어 있습니다. 사이트의 소스 코드는 C++ 및 C# 프로그래밍 언어로 작성되었습니다. 애플리케이션 개발에서 작지만 알고리즘적으로 중요한 단계를 수행하려면 많은 전문 문헌을 검토하고 다양한 프로그램 코드 변형을 테스트해야 합니다. 이러한 경우 기성 솔루션이 포함된 작업 소스가 매우 유용합니다. 대부분의 경우 프로그램 코드를 완전히 구문 분석할 필요가 없으며 필요한 줄만 선택하면 충분합니다. 이 사이트의 소스는 프로그래밍 관련 사이트에 게시된 소스 코드 모음을 보완합니다. 모든 중요한 코드 줄에는 자세한 설명이 함께 제공됩니다.

프로그램 이 섹션에는 계산을 돕는 응용 프로그램, 웹마스터를 위한 도구 및 컴퓨터 사용자를 위한 유용한 유틸리티가 포함되어 있습니다. 여기서는 컴퓨터 미니 게임, 퍼즐, 카드 게임 등도 찾을 수 있습니다. 대부분의 사이트 프로그램과 게임의 소스는 소스 코드 섹션에 있습니다. 약간의 수정 후에는 소스 코드를 다양한 자체 프로젝트에서 사용할 수 있습니다. 소스는 사이트 페이지나 소스 파일 자체에 자세히 설명되어 있습니다.

기사 프로그래밍에 관한 기사 모음 - 프로그래밍, 프로그래밍 언어 및 프로그래밍 도구 선택에 대한 전문 프로그래머와 초보 프로그래머의 토론. 프로그래밍 과학의 출현, 프로그래밍 언어의 생성 및 차이점에 대해 설명합니다. 기사에서는 기술 대학 학생들과 초보 프로그래머들의 흥미로운 토론을 찾을 수 있습니다.

라이센스 소프트웨어 프로그램을 개발하거나 프로그래밍에 입문할 때 전문 소프트웨어 없이는 불가능합니다. 특정 수준의 프로그래밍 경험, 자신만의 전문적인 방향, 자신만의 소프트웨어 세트가 결정됩니다. 개발을 위해 해킹되거나 불법 복제된 프로그램을 사용하면 조만간 문제 없는 전체 기능과 편안한 프로그래밍을 보장하는 라이센스 소프트웨어 없이는 불가능하다는 것을 깨닫게 될 것입니다. 현재 많은 전문 소프트웨어가 개인 개발자와 소규모 프로그래밍 조직을 위해 합리적인 가격으로 제공되고 있습니다. 이 섹션에서는 유용한 프로그램을 많이 제공합니다. 라이센스가 부여된 소프트웨어 제공 범위에는 응용 프로그램 개발자, 네트워크 프로그램, 웹 프로그래머, 아티스트-디자이너를 위한 그래픽 프로그램 등을 위한 엄청난 양의 소프트웨어가 포함됩니다. 이 섹션에는 바이러스 백신, 방화벽, 방화벽, 방화벽 등 개인용 컴퓨터 작업의 보안을 보장하기 위해 만들어진 프로그램도 포함되어 있습니다.

서적 이론적 준비는 반드시 실제 작업과 결합되어야 하며 심지어 그보다 선행되어야 합니다. 프로그래밍 실습을 한 번만 수행하면 조만간 지식의 한계가 얼마나 낮은지 깨닫게 됩니다. 여기에는 광범위한 프로그래밍 경험을 가진 저자, 일반 프로그래머 범주에서 실제 마스터 범주로 옮겨 복잡한 프로그래밍 알고리즘을 간단하고 명확하게 설명하는 저자의 책이 도움이 되는 곳입니다. 게다가 종이책은 전자책으로 완전히 대체될 수 없다.

프로그램 코드의 개념

종이에서 읽은 정보의 동화 품질은 같은 책을 컴퓨터 디스플레이에서 읽는 경우보다 훨씬 높습니다. 이 섹션에는 컴퓨터 과학에 유용한 많은 책이 포함되어 있습니다. 우리는 흥미롭고 관련성 높은 콘텐츠가 포함된 최신 간행물을 제공합니다. 여기에서는 프로그래밍, 인터넷 프로그래밍, 컴퓨터 네트워크 생성 및 유지 관리, 컴퓨터 사운드 및 음악 생성 및 처리, 비디오 디지털화 및 홈 무비 생성에 관한 서적을 찾을 수 있습니다. 책은 컴퓨터 그래픽을 배우는 데 도움이 될 것입니다.

원천(보통 그냥 프로그램 텍스트, 영어 소스 코드)은 컴퓨터 프로그래밍 언어와 사람이 읽을 수 있는 형식으로 작성된 일련의 지침 또는 선언입니다. 소스 코드를 사용하면 프로그래머는 제한된 명령 세트를 사용하여 컴퓨터와 통신할 수 있습니다.

JavaScript를 사용하여 HTML로 작성된 소스 코드

프로그램을 나타내는 소스 코드는 일반적으로 하나 이상의 텍스트 파일에 포함되어 있으며 때로는 저장 프로시저로 데이터베이스에 저장되며 책이나 기타 인쇄 매체에 인쇄된 코드 조각으로 나타날 수도 있습니다. 대규모 소스 코드 파일 모음은 디렉토리 트리로 구성될 수 있으며, 이 경우 디렉토리 트리라고도 합니다. 소스 코드 트리(영어) 소스 트리) 또는 코드 트리 소스 코드 트리 등

프로그램 소스 코드사람이 읽을 수 있는 형식을 컴퓨터에서 실행 가능한 코드 형식으로 변환하는 데 필요한 파일 세트입니다.

12.3.2. 샘플 코드

코드 실행에는 두 가지 가능한 방향이 있습니다. 기계어 코드특정 목적으로 설계된 컴파일러를 사용하여 컴퓨터 아키텍처, 또는 통역사를 사용하여 텍스트에 대해 직접 수행됩니다.

목표

소스 코드는 주로 실행 가능한 프로그램을 생성하는 프로세스(즉, 컴파일되거나 해석됨)에 대한 입력으로 사용됩니다. 또한 사람 간에 알고리즘을 전송하는 수단으로도 사용됩니다(예: 책의 코드 조각). 원시 코드 없이 프로그램을 다른 컴퓨터 플랫폼으로 포팅하는 것은 일반적으로 매우 어렵습니다. 소스 코드 없이 포팅 옵션도 가능하지만, 예를 들어 바이너리 번역이나 원래 플랫폼의 에뮬레이션이 가능합니다.

라이선스

소프트웨어 도구와 그에 수반되는 소스 코드는 일반적으로 오픈 소스 소프트웨어와 비자유(또는 독점) 소프트웨어라는 두 가지 라이선스 패러다임 중 하나에 속합니다. 전반적으로 소프트웨어는 열려 있는, 소스코드가 자유롭게 사용, 배포, 수정, 분석될 수 있는지, 그리고 소유권, 소스 코드가 비밀로 유지되거나 개인 소유이고 이에 대한 액세스가 제한된 경우. 비밀을 보장하기 위해 각종 저작권법의 조항을 주로 활용하지만, 영업비밀이나 특허도 자주 활용됩니다. 또한 프로그램 배포에는 일반적으로 디컴파일, 리버스 엔지니어링, 분석, 편집 또는 복사 방지 우회를 금지하는 라이센스 계약(EULA)이 함께 제공됩니다. 소스 코드 보호 유형(객체 코드로의 기존 컴파일 외에도 코드 암호화, 코드 난독화가 포함됨) 코드 난독화) 또는 코드 모핑.

품질

프로그램이 작성되는 방식은 유지 관리에 매우 중요한 영향을 미칠 수 있습니다. 많은 프로그래밍 스타일 교과서는 가독성의 중요성을 강조하고, 많은 지침은 디버깅 및 업데이트를 포함하여 프로그램의 소스 코드 유지 관리에 중점을 둡니다. 프로그램 실행 속도 및 여러 아키텍처에 대한 프로그램을 컴파일하는 능력과 같은 다른 우선 순위로 인해 코드 가독성이 덜 중요한 고려 사항이 되는 경우가 많습니다. 품질코드는 전적으로 목적에 따라 달라집니다.

프로그래밍은 수십 년 동안 산업 규모로 존재해왔기 때문에 적절한 코드 형식 지정 표준이 개발되었습니다. 일부 표준은 공식화되어 있는 반면 다른 표준은 암묵적인 규칙입니다. 예를 들어, 헝가리어 표기법은 프로그램의 식별자 이름 지정을 규제하고(종종 전사적 명명 규칙을 발표하여 결정됨), 다른 표준에서는 구문 요소 배열 규칙을 정의합니다.

원천(또한 원본 텍스트, 아니면 그냥 원천, 암호, 영어 암호) - 모든 프로그래밍 언어로 된 텍스트 형식의 컴퓨터 프로그램입니다. 소스 코드는 다음 중 하나로 번역됩니다. 실행 가능한 코드특정 목적으로 설계된 컴파일러를 사용하여 컴퓨터 아키텍처, 또는 통역사를 사용하여 텍스트에서 직접 수행됩니다.

목적

소스 코드는 목적 코드를 생성하는 데 사용되거나 인터프리터에 의해 실행됩니다. 개체 코드는 변경되지 않고 소스 코드만 변경된 다음 다시 개체 코드로 변환됩니다.

소스 코드의 또 다른 중요한 목적은 프로그램을 설명하는 것입니다. 프로그램의 텍스트를 기반으로 해당 동작의 논리를 재구성할 수 있습니다. 주석은 소스 코드를 더 쉽게 이해하기 위해 사용됩니다. 소스 코드 문서를 자동으로 얻을 수 있는 도구(소위)도 있습니다. 문서 생성기.

또한 소스 코드에는 다른 용도도 많이 있습니다.

HTML 프로그램 코드

교육 도구로 사용할 수 있습니다. 초보 프로그래머는 기존 소스 코드를 검토하여 프로그래밍 기술과 방법론을 배우는 것이 유용할 수 있습니다. 또한 (이상적으로) 간결하고 모호하지 않은 특성으로 인해 숙련된 프로그래머 간의 통신 도구로도 사용됩니다. 개발자 간의 코드 공유는 프로그래머 경험을 향상시키는 데 기여하는 요소로 자주 인용됩니다.

프로그래머는 종종 소스 코드를 한 프로젝트에서 다른 프로젝트로 이동하는데, 이를 코드 재사용( 소프트웨어 재사용성).

소스 코드는 소프트웨어를 다른 플랫폼으로 포팅하는 과정에서 중요한 구성 요소입니다. 소프트웨어의 소스 코드가 없으면 이식이 너무 어렵거나 완전히 불가능합니다.

조직

소프트웨어 일부(모듈, 구성 요소)의 소스 코드는 하나 이상의 파일로 구성될 수 있습니다. 프로그램 코드는 반드시 하나의 프로그래밍 언어로만 작성될 필요는 없습니다. 예를 들어 C로 작성된 프로그램에는 최적화 목적으로 어셈블리 언어로 된 코드 삽입이 포함되는 경우가 많습니다. 프로그램의 일부 구성 요소나 부분이 다른 언어로 작성되고 후속적으로 라이브러리 연결이라는 기술을 사용하여 단일 실행 가능 모듈로 조립되는 상황도 가능합니다( 도서관 연결).

복잡한 소프트웨어를 만들려면 수십 또는 수백 개의 소스 코드 파일이 필요합니다.

이러한 경우 일반적으로 파일을 사용하여 조립을 단순화합니다. 메이크파일, 소스 코드 파일 간의 종속성에 대한 설명과 빌드 프로세스를 설명합니다.

소스 코드 작업을 용이하게 하고 프로그래머 팀의 코드 공동 작업을 위해 버전 제어 시스템이 사용됩니다.

품질

인간과 달리 컴퓨터에는 "잘 작성된" 코드나 "잘못 작성된" 코드가 없습니다. 그러나 코드 작성 방법은 소프트웨어 유지 관리 프로세스에 큰 영향을 미칠 수 있습니다. 소스 코드의 품질은 다음 매개변수의 맥락에서 논의될 수 있습니다.

  • 코드 가독성
  • 지원, 테스트, 디버깅 및 문제 해결, 수정 및 이식 용이성
  • 낮은 난이도
  • 낮은 리소스 사용량 - 메모리, 프로세서, 디스크 공간
  • 프로그램을 컴파일할 때 코멘트가 없습니다

어떤 언어를 배워야 할지 너무 걱정하지 마세요.많은 초보 프로그래머는 소프트웨어 코드 작성 방법을 처음 배우기 시작할 때 언어를 선택하는 데 어려움을 겪습니다. 정보 구성의 구조와 논리를 배우는 데 있어서 실제로 선택하는 언어는 중요하지 않습니다. 이러한 기술은 훨씬 더 중요하며 어떤 프로그래밍 언어로도 배울 수 있습니다.

  • 언어를 선택할 때 프로그램 코드를 생성하려는 목적에 초점을 맞춘 다음 시작 언어를 선택하십시오. 예를 들어 웹사이트를 개발하려면 먼저 HTML을 배우고 CSS, JavaScript, PHP로 보완해야 합니다. 컴퓨터용 프로그램을 만들고 싶다면 C++나 기타 기본 프로그래밍 언어를 배우기 시작하세요.
  • 전문 프로그래머가 되면 원래 배운 언어를 업무에 절대 사용하지 않을 것이라는 사실을 금방 깨닫게 될 것입니다. 대신, 항상 문서화와 실험을 통해 새로운 언어를 계속해서 배우게 될 것입니다.

선택한 언어와 관련된 무료 온라인 리소스를 찾아보세요.인터넷은 귀하가 배우기로 선택한 언어에 대한 무료 튜토리얼, 코스, 비디오가 가득한 보물상자입니다. 거의 모든 기초 언어의 기초를 하루 만에 배울 수 있습니다.

  • 다음은 Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools 등 몇 가지 인기 있는 사이트입니다.
  • wikiHow에는 다양한 언어에 대한 다양한 시작 튜토리얼도 있습니다.
  • YouTube에서는 거의 모든 언어에 대한 교육 동영상을 찾을 수 있습니다.
  • Stack Exchange는 전문 프로그래머가 사용자의 질문에 답변하는 가장 인기 있는 포럼 중 하나입니다.
  • 좋은 텍스트 편집기를 다운로드하세요.많은 프로그래밍 언어에서는 외부 텍스트 편집기를 사용하여 프로그램을 작성할 수 있습니다. 들여쓰기와 코드 마크업을 표시하는 텍스트 편집기를 찾으세요.

    • 널리 사용되는 프로그램으로는 Notepad++(Windows), TextWrangler(OS X) 및 JEdit(모든 시스템)이 있습니다.
  • 필요한 컴파일러를 다운로드하십시오.일부 프로그래밍 언어에서는 작성한 소스 코드를 표시하기 위해 컴파일러가 필요합니다. 컴파일러는 소스 코드를 동등한 저수준 언어 프로그램으로 변환한 다음 컴퓨터에서 처리합니다. 많은 컴파일러는 오픈 소스이자 무료 소프트웨어입니다. 컴파일러 사용이 필요한 언어는 다음과 같습니다.

    • 기초적인
    • 포트란
    • 파스칼
  • 첫 번째 프로젝트를 시작하세요.새로운 기술을 시험해 볼 수 있는 좋은 입문 프로젝트를 선택하세요. 인터넷에는 이 주제에 대한 많은 제안과 튜토리얼이 있습니다. 예를 들어, HTML로 간단한 웹사이트를 만들고, PHP로 간단한 데이터베이스와 기능을 만들거나, 컴파일러를 사용해야 하는 모든 언어로 간단한 프로그램을 만드는 것부터 시작할 수 있습니다.

    목적

    소스 코드는 목적 코드를 생성하는 데 사용되거나 인터프리터에 의해 실행됩니다. 개체 코드는 변경되지 않고 소스 코드만 변경된 다음 다시 개체 코드로 변환됩니다.

    소스 코드의 또 다른 중요한 목적은 프로그램을 설명하는 것입니다. 프로그램의 텍스트를 기반으로 해당 동작의 논리를 재구성할 수 있습니다. 주석은 소스 코드를 더 쉽게 이해하기 위해 사용됩니다. 소스 코드 문서를 자동으로 얻을 수 있는 도구(소위)도 있습니다. 문서 생성기.

    또한 소스 코드에는 다른 용도도 많이 있습니다. 교육 도구로 사용할 수 있습니다. 초보 프로그래머는 기존 소스 코드를 검토하여 프로그래밍 기술과 방법론을 배우는 것이 유용할 수 있습니다. 또한 (이상적으로) 간결하고 모호하지 않은 특성으로 인해 숙련된 프로그래머 간의 통신 도구로도 사용됩니다. 개발자 간의 코드 공유는 프로그래머 경험을 향상시키는 데 기여하는 요소로 자주 인용됩니다.

    프로그래머는 종종 소스 코드를 한 프로젝트에서 다른 프로젝트로 이동하는데, 이를 코드 재사용( 소프트웨어 재사용성).

    소스 코드는 소프트웨어를 다른 플랫폼으로 포팅하는 과정에서 중요한 구성 요소입니다. 소프트웨어의 소스 코드가 없으면 포팅이 너무 어렵거나 완전히 불가능합니다.

    조직

    소프트웨어 일부(모듈, 구성 요소)의 소스 코드는 하나 이상의 파일로 구성될 수 있습니다. 프로그램 코드는 반드시 하나의 프로그래밍 언어로만 작성될 필요는 없습니다. 예를 들어, 최적화 목적으로 C 언어로 작성된 프로그램에는 어셈블리 언어로 된 코드 삽입이 포함되는 경우가 많습니다. 프로그램의 일부 구성 요소나 부분이 다른 언어로 작성된 다음 라이브러리 연결이라는 기술을 사용하여 단일 실행 가능 모듈로 조립될 수도 있습니다( 도서관 연결).

    복잡한 소프트웨어를 만들려면 수십 또는 수백 개의 소스 코드 파일이 필요합니다. 이러한 경우 빌드를 단순화하기 위해 일반적으로 소스 코드 파일 간의 종속성에 대한 설명을 포함하고 빌드 프로세스를 설명하는 프로젝트 파일이 사용됩니다. 이러한 파일에는 다른 컴파일러 및 디자인 환경 매개변수도 포함될 수 있습니다. 다양한 디자인 환경에서는 다양한 프로젝트 파일을 사용할 수 있으며 일부 환경에서는 이러한 파일이 범용 텍스트 편집기를 사용하여 프로그래머가 직접 편집하기에 적합한 텍스트 형식일 수 있지만 다른 환경에서는 특수 형식이 지원되며 생성 및 수정이 가능합니다. 파일의 작업은 특수 도구 프로그램을 사용하여 수행됩니다. 프로젝트 파일은 일반적으로 "소스 코드"라는 용어에 포함됩니다. 대부분의 현대 언어 환경에서는 프로젝트에 포함된 다른 소스 코드의 복잡성에 관계없이 프로젝트 파일을 사용해야 합니다. 종종 소스 코드는 프로그램을 구축하는 데 필요한 그래픽 이미지와 같은 다양한 데이터가 포함된 리소스 파일을 참조하기도 합니다.

    소스 코드 작업을 용이하게 하고 프로그래머 팀의 코드 공동 작업을 위해 버전 제어 시스템이 사용됩니다.

    품질

    인간과 달리 컴퓨터에는 "잘 작성된" 코드나 "잘못 작성된" 코드가 없습니다. 그러나 코드 작성 방법은 소프트웨어 유지 관리 프로세스에 큰 영향을 미칠 수 있습니다. 소스 코드의 품질은 다음 매개변수로 판단할 수 있습니다.

    • 코드 가독성(코드 주석 유무 포함)
    • 지원, 테스트, 디버깅 및 오류 수정, 수정 및 이식 용이성;
    • 낮은 복잡성;
    • 낮은 리소스 사용량 - 메모리, 프로세서, 디스크 공간;
    • 컴파일러가 출력한 주석이 없습니다.
    • "쓰레기"의 부재 - 사용되지 않는 변수, 접근할 수 없는 코드 블록, 불필요한 오래된 주석 등

    실행 불가능한 소스 코드

    또한보십시오

    • 예: Hello World 프로그램

    연결

    위키미디어 재단. 2010.

    다른 사전에 "프로그램 코드"가 무엇인지 확인하십시오.

      소프트웨어 패키지- 3.19 소프트웨어 패키지: 바이너리 또는 소스 형식의 프로그램 코드와 프로그램, 버전, 종속성 및 기타 정보에 대한 메타데이터가 포함된 아카이브 파일입니다. 출처: GOST R 54593 2011: 정보 기술. 무료... ...

      - (영어: Netscape Plugin Application 프로그래밍 인터페이스, NPAPI는 많은 브라우저에서 지원되는 크로스 플랫폼 플러그인 개발 아키텍처입니다. 인터페이스는 Netscape를 시작으로 Netscape Navigator 브라우저 제품군용으로 개발되었습니다... ... Wikipedia

      컴퓨터 과학에서 소프트웨어 에이전트는 사용자나 다른 프로그램과 중개 관계를 맺는 프로그램입니다. "대리인"이라는 단어는 라틴어 agere(to do)에서 유래되었으며 ... ... Wikipedia에서 작업을 수행하기로 합의하는 것을 의미합니다.

      프레임워크는 모호한 의미를 지닌 용어입니다. 프로그래밍에서 일반적으로 "복잡한 문제 해결 문제를 해결하는 데 사용되는 간단한 개념 구조"를 나타내는 데 사용됩니다. 이 용어의 의미는 문맥에 따라 크게 달라집니다... ... Wikipedia

      이 문서는 일반적인 명령 시스템에 관한 것입니다. 지침은 거래 코드를 참조하세요. 기계어(플랫폼 지향 코드), 기계어, 특정 컴퓨터의 명령 체계(작동 코드 집합)로 해석되는 ... ... 위키피디아

      공식 용어

      바이러스(컴퓨터, 소프트웨어)- 무단 배포 및 자체 복제의 특성을 지닌 실행 가능한 프로그램 코드 또는 해석된 명령 집합입니다. 컴퓨터 바이러스의 복제물이 항상 원본과 일치하는 것은 아니지만... ... 규범 및 기술 문서 용어에 대한 사전 참고서

      - (영어 관리 코드)는 가상 머신의 “제어” 하에 실행되는 프로그램의 코드를 지칭하기 위해 Microsoft에서 도입한 용어입니다.NET Common Language Runtime. 이런 경우 일반적인 기계어 코드를 비관리 코드(Unmanaged Code)라고 합니다... ... 위키피디아

      패치 또는 패치(영어 패치 /pætʃ/ 패치)는 소프트웨어의 문제를 해결하거나 기능을 변경하는 것은 물론 패치 자체를 설치하는 프로세스에 사용되는 별도로 제공되는 자동화된 소프트웨어 도구입니다(... ... Wikipedia

      피라미드형 웹 애플리케이션 프레임워크 개발자 ... Wikipedia

    서적

    • 객체 지향 설계: 개념 및 프로그램 코드, Gast Holger. 이 책은 독자가 객체의 개념을 깊이 이해하고 객체의 진정한 잠재력을 발휘하여 현실 세계에서 효과적으로 작동하는 코드를 작성할 수 있도록 돕기 위해 고안되었습니다. 그것은 고려한다...
    펌웨어 개발자에게 자신이 사용하는 실시간 운영 체제의 소스 코드에 액세스하고 싶은지 묻는다면 대답은 거의 확실하게 '예'입니다. 구입한 소프트웨어도 마찬가지입니다. 이것이 모든 경우에 대한 합리적인 대답입니까? 소스 코드가 때로는 필요하고 때로는 예상보다 유용하지 않은 이유는 무엇입니까?

    엔지니어가 RTOS(실시간 운영 체제)를 선택할 때 사용하는 주요 기준이 많이 있습니다. 비용, 기능, 라이센스, 지원 등 많은 부분이 의심할 여지 없이 매우 중요합니다(특히 비용 - 이것이 우리의 현실입니다). 그러나 소스 코드의 가용성이라는 또 다른 기준은 그다지 중요하지 않을 수 있지만 항상 강력한 요소로 평가됩니다.

    소스 코드가 있다고 해서 자동으로 무료로 제공되는 것은 아닙니다. 이 접근 방식은 오픈 소스 제품에만 적용되며, 다른 경우 제조업체는 소스 코드에 대한 비용을 청구하거나 요청 시 제공할 수 있습니다.

    하드웨어 개발. 여기에는 특히 VHDL 및 Verlog를 사용한 개발에 해당되는 소스 코드도 포함됩니다. 여기는 어떻게 되어가고 있나요? 역사적으로 엔지니어는 집적 회로를 선택하고 해당 애플리케이션을 설계할 때 기능, 핀아웃, 전력 요구 사항 등을 지정하는 사양에 의존했습니다. 동시에 블록 다이어그램을 자주 볼 수 있었지만(주로 작동 원리를 더 쉽게 이해할 수 있도록 해주는 설명 자료로) IC의 내부 구조에 대한 완전한 다이어그램을 볼 수 있을 것이라고는 아무도 기대하지 않았습니다. 회로도(연산증폭기와 같은 아날로그 IC용). 단, 명칭은 없습니다.
    오늘날 ASIC 또는 FPGA 펌웨어를 설계하는 엔지니어는 사전 구축된 IP 블록(특정 기능을 제공하는 사전 패키지 블록)을 사용할 가능성이 높습니다. 그러나 선택은 사양에 따라 달라지며 IP용 원본 HDL이 패키지에 포함될지는 전혀 확실하지 않습니다. 이러한 블랙박스 접근 방식은 하드웨어 세계에서 잘 알려져 있습니다.

    안전. 제품에 포함된 모든 기술은 향후 기술 지원을 염두에 두고 선택해야 합니다. 예를 들어, IP를 선택할 때 단일 제조업체의 고유한 제품을 사용하지 않아야 공급 중단 문제를 완화할 수 있습니다.
    IP를 사용할 때 하드웨어든 제공된 소프트웨어든 공급 장애가 발생할 가능성은 거의 없지만(일회성 라이센스의 경우 제외) 지속적인 지원이 있어야 합니다. 따라서 특정 구현을 선택하기 전에 공급업체가 제품의 전체 수명 동안 사업을 계속할 것인지에 대한 질문을 하는 것이 가장 좋습니다.

    IP의 소스 코드를 사용할 수 있으면 공급업체가 더 이상 지원을 제공할 수 없더라도 소프트웨어 문제(음, 거의 모든)를 해결할 수 있습니다. 이 때문에 RTOS 등 구매자가 많다. 혹시라도 소스 코드를 보지 않더라도 선반에 보관하고 싶어합니다.

    소프트웨어 사용자 정의 임베디드 시스템과 데스크탑의 주요 차이점은 전자의 가변성입니다. 대부분의 PC는 다른 많은 PC와 유사하며 유일한 선택은 실행 환경(Windows, Mac 또는 Linux) 중에서 선택하는 것입니다. 반면에 임베디드 시스템은 프로세서, 메모리 구성, 주변 장치 등 매우 다양합니다. 결과적으로, IP 소프트웨어는 다양한 시스템에 배포될 수 있도록 유연해야 합니다. RTOS와 같은 많은 제품이 바이너리 형식(일반적으로 특정 아키텍처에 맞게 사용자 정의된 라이브러리)으로 제공되지만 소스 코드 제공 요구 사항은 여러 변형을 저장하고 지원할 필요성을 제거하여 공급업체에 인센티브를 줄 수 있습니다. IP를 소스로 제공하면 이러한 문제 중 많은 부분이 해결되기 때문입니다. 문제. 사용자는 특정 프로세서에 대한 코드를 작성하고 이를 장치의 메모리 카드에 적용하고 필요한 장치 확장을 추가할 수 있습니다. 경우에 따라 조건부 컴파일을 사용하여 IP 블록을 구성할 수 있습니다. 일반적으로 헤더 파일을 편집하여 구성을 정의합니다.

    인증. 군사/항공 및 의료와 같은 일부 유형의 애플리케이션의 경우 펌웨어는 다양한 표준을 준수하고 안전하다는 인증을 받아야 합니다. 이 프로세스는 복잡하고 비용이 많이 들며 일반적으로 모든 코드 줄을 확인해야 합니다. 따라서 전체 응용 프로그램이 검토 대상이므로 "사전 인증된" 소프트웨어 단위를 구입하는 것은 일반적으로 불가능합니다. 따라서 미션 크리티컬 애플리케이션 개발자는 전체 검증을 수행할 수 있도록 소스 코드와 함께 사용 가능한 IP를 찾을 가능성이 높습니다.

    소스 코드란 무엇입니까?
    질문이 이상하게 보일 수 있지만 대답 없이 질문의 존재(또는 부재)에 대한 모든 측면을 논의하는 것은 다소 이상한 연습으로 변합니다. 대답은 분명해 보일 수 있습니다. 프로그램의 소스 코드는 작동하는 바이너리 명령어로 컴파일되고 어셈블될 수 있는 고급 또는 어셈블리 언어 명령어가 포함된 파일 모음입니다. 즉시 질문은 변환 프로세스에 필요한 프로그램과 이를 위한 실행 환경이 소스 코드의 일부(바이너리 형식)입니까?입니다. 그럼에도 불구하고 이 정의는 품질이 저하되는 순서대로 "소스 코드"를 제공할 수 있는 최소한 3가지 형식(예: C 언어에 대해 이야기해 보겠습니다)을 충족합니다.
    1) 좋은 레이아웃, 명확한 변수 명명 규칙 및 잘 설명된 실제 소스 코드입니다(IP 개발자가 완전히 선택 사항인 경우).
    2) 주석이나 특히 의미 있는 식별자 이름 없이 성공적으로 컴파일되는 코드 줄입니다.
    3) 사람이 코드를 읽을 수 없지만 컴파일러에서는 허용되는 방해물 뒤의 코드 줄입니다. 이는 식별자 이름을 의미 없는 이름으로 바꾸고 모든 주석과 구문상 불필요한 공백을 제거하여 수행됩니다. 반대 과정이 있지만 그 결과는 수용 가능하다고 할 수 없습니다.
    이러한 모든 양식은 소프트웨어 공급자가 다음 목적으로 사용합니다.
    1) 대부분의 구매자가 받기를 기대하는 것이며 많은 제조업체가 실제로 제공하는 것입니다. 그러나 구매 결정을 내릴 때 소스 코드가 필요한 경우 이것이 옵션인지 확인하는 것이 중요합니다. 의심스러우면 샘플을 요청하세요.
    2) 일반적으로 판매자가 인증에 충분할 수 있는 최소 요구 사항을 전달하려고 할 때 사용됩니다.
    3)는 IIP의 콘텐츠를 엿보는 눈으로부터 보호하는 데 사용됩니다. 즉, 소프트웨어가 구성 가능성의 이점을 얻지만 그 이상은 아닙니다.

    소스코드의 단점
    소스 코드를 사용할 수 있는 것의 가장 큰 단점은 매우 유혹적이라는 것입니다. 모든 개발자는 자신의 소프트웨어를 가능한 한 좋게 만들고 싶어합니다(물론 그런 관점도 있습니다). 예를 들어 RTOS API가 애플리케이션에 최적으로 작동하지 않는 경우 소스 코드의 가용성은 이를 변경할 수 있는 기회를 제공합니다.
    애플리케이션을 최적으로 만드는 것이 좋은 일처럼 보일 수도 있지만 장기적인 지원에는 문제가 있습니다. RTOS 기능에 문제가 있으면 어떻게 하나요? 공급업체는 수정된 제품을 지원하지 않습니다. RTOS의 새 버전이 출시되면 어떻게 해야 하나요? 이를 재설계에 포함시키는 것은 반복적인 수정을 위해 상당한 시간이 필요할 수 있습니다. 특히 해당 작성자가 더 이상 귀하를 위해 일하지 않는 경우에는 더욱 그렇습니다(글쎄, 물론 귀하가 3년 전에 이러한 수정을 하였거나, 그들이 말했듯이, 물론 귀하가 그렇게 하지 않았거나) 적절한 문서를 작성하는 것을 귀찮게 하세요).

    소스 코드가 바람직하거나 유용하거나 필요할 수 있는 상황을 고려한 결과, 소스 코드가 절대적으로 항상 필요한 것은 아니라는 결론이 나왔습니다. 장기적인 지원을 제공할 수 있는 크고 잘 알려져 있으며 안정적인 공급자로부터 IP를 구입하는 경우 소스 코드를 갖는 것은 관련이 없으며 단점으로 나열될 수도 있습니다.