문제

나는 기본적으로 프로그래밍을 시작했다 ZX81, 그 다음에 BASICA, GW-Basic, 그리고 QBASIC. 나는 C로 이사했다 (아, 터보 C 3.1, 나는 너희가 거의 알지 못했다 ...)

마이크로 컨트롤러에서 시작했을 때 나는 기본 스탬프 시차에서. 그러나 기본은 이해하기 쉽고 실수를하기가 어렵 기 때문에 굉장했습니다. 추가 전력 (속도, 용량, 자원 등)이 필요했기 때문에 결국 어셈블리와 C로 이동했지만 막대가 훨씬 높으면 많은 사람들이 프로그래밍 마이크로 컨트롤러에 들어 가지 않을 것임을 알고 있습니다.

나는 나만의 온칩 기본 통역사를 만들기 위해 가려움증을 계속 얻지 만, Lua와 Python이 쉽게 입력 할 수 있고 기본만큼 접근하기 쉬운 기본이 필요한지 궁금합니다.

  • 기본이 다른 언어에 비해 장점은 무엇입니까?
  • 왜 여전히 주변에 있습니까?
  • 통역사로 범용 마이크로 컨트롤러 보드를 만들기로 결정한 경우 Basic 버전을 만들 이유가 있습니까?

다른 많은 언어들이 죽은 것으로 간주되지만 기본은 계속 매달려 있습니다.

도움이 되었습니까?

해결책

아키텍처로서 기본 명성의 주요 주장은 기본 통역사를 매우 작게 만들 수 있다는 것입니다. DG Nova 시대에는 Business Basic과 같은 시스템을 사용하여 64K의 RAM (또는 그 이상)이있는 기계에 다중 사용자 애플리케이션을 구축 할 수 있었기 때문에 승리했습니다.

BASIC (특히 VB)은 레거시 시스템이며 기존 코드베이스가 많이 있습니다. 아마도 VB는 실제로 기본적인 구문을 가진 언어 (일부는 com에 대한 얇은 래퍼라고 할 것입니다)입니다. 요즘 나는 사람들의 친숙 함과는 별도로 언어를 유지하고 기존 코드 기반을 유지해야 할 이유가 거의 없습니다. 나는 확실히 새로운 개발을 옹호하지 않을 것입니다 (VB.net은 실제로 기본적이지는 않지만 VB와 같은 구문을 가지고 있습니다. 유형 시스템은 VB의 방식으로 깨지지 않았습니다.)

~이다 컴퓨팅 세계에서 누락 된 것은 a입니다 관련 있는 배우기 쉽고 땜질하고 주류 애플리케이션 개발에서 마인드 공유를하는 언어. 나는 8 비트 기계의 시대에 자랐으며 해당 시스템의 프로그래밍에 대한 진입 장벽은 매우 낮았습니다. 기계의 아키텍처는 매우 간단했으며 이러한 기계에 대해보다 관련성이 높은 응용 프로그램을 매우 쉽게 프로그래밍하고 작성하는 법을 배울 수 있습니다.

현대 아키텍처는 훨씬 더 복잡하고 배울 수있는 혹 더 큰 혹이 있습니다. 당신은 사람들이 기본 및 8 비트 컴퓨터 시대에 아이들이 쉽게 프로그램하는 법을 배울 수없는 방법에 대해 이야기하는 것을 볼 수 있으며, 논쟁에는 가치가 있다고 생각합니다. 프로그래밍을 조금 더 어렵게 만드는 홀 남은 구멍이 있습니다. 장난감 언어는 여기에별로 사용되지 않습니다. 프로그래밍이 매력적이기 위해서는 배우고있는 언어와 관련된 것을 구축하기 위해 열망해야합니다.

이것은 아이들이 쉽게 배울 수 있지만 여전히 원하는 관련 프로그램 (또는 게임)을 작성할 수있는 언어의 문제로 이어집니다. 또한 관련성이 널리 인식되어야합니다.

내가 이것에 대해 가장 가까운 것은 파이썬입니다. 그것은 그 유형의 언어의 유일한 예는 아니지만, 가장 마음이 공유되는 것은이 틈새 시장에서 연주하기 위해서는 관련성에 대한 인식이 필요합니다. 또한 내가 경험 한 것을 배우는 가장 쉬운 언어 중 하나입니다 (수년 동안 사용한 30 개 정도).

다른 팁

이것은 실제보다 부정적인 소리가 나올 수 있습니다. 나는 기본이 모든 악의 뿌리라고 말하는 것이 아닙니다. 다른 사람들은 그렇게 말했습니다. 나는 그것이 우리가 떠날 여유가있는 유산이라고 말하고 있습니다.

"이해하기 쉽고 실수를하기가 어려웠 기 때문에" 그것은 확실히 논쟁의 여지가 있습니다. 나는 완전히 불투명 한 기본으로 나쁜 경험을했습니다. 전문적인 물건 - 상용 제품 - 완벽하게 끔찍한 코드. 작업을 포기하고 거절해야했습니다.

"기본이 다른 언어에 비해 장점은 무엇입니까?" 아니, 정말.

"왜 여전히 주변에 있습니까?" 두 가지 이유 : (1) Microsoft, (2) VB를 시작하고 현재 수백만 행의 VB 레거시 코드를 보유한 모든 IT 부서.

"다른 많은 언어들이 죽은 것으로 간주됩니다 ..." 네. 기본은 측면 COBOL, PL/I 및 RPG와 함께 값보다 비용이 더 많은 유산으로 있습니다. 그러나 "파산이 해결되지 않으면 고치지 않는다"는 정책이 큰 IT의 정책으로 인해, 그들은 앉아서 그것을 쉽게 대체 할 수있는 더 작고 단순하고 저렴한 것으로 쉽게 대체 할 수있는 자원을 빨아 들였습니다. "실패"를 제외하고는 불균형 적으로 비싸다.

30 세의 COBOL은 재 작업하기에 끔찍한 상황입니다. 2016 년부터 우리는 30 세의 MS Basic을 살펴보면 우리가 알아낼 수없고,없이 살고 싶지 않으며, 교체 방법을 결정할 수 없습니다.

"하지만 기본은 계속 매달려 있습니다" 일부 사람들은 기본을 좋아하는 것 같습니다. 다른 사람들은 그것을 또 다른 잘못 디자인 된 언어로 본다. 이점은 초기 시장에 출시되고 있으며 거대한 공급 업체 (IBM)의 지원을 받고 있습니다. 불완전한 설계, 초기 마켓은 우리가 수십 년 동안 고통을 겪을 유산을 남깁니다.

나는 아직도 1965 년에 다트머스 기본 매뉴얼을 가지고 있습니다. 나는 좋은 옛날을 그리워하지 않습니다.

Jumentum에게 시도하고 그것이 당신에게 어떻게 작동하는지보십시오.

http://jumentum.sourceforge.net/

MicrControllers의 오픈 소스 기본입니다

ELUA 프로젝트는 마이크로 컨트롤러의 LUA입니다

http://elua.berlios.de/

기본은 특히 스탬프 구현에서 지속됩니다. 왜냐하면 그것은 대부분의 다른 매우 비료 프로그래밍 언어보다 낮은 수준이기 때문입니다. 대부분의 임베디드 기본 구현의 경우 기본 명령어는 단일 또는 단일 그룹의 기계 지침에 직접 맵핑되며 오버 헤드가 거의 없습니다. Lua 또는 Python과 같은 "고급"언어로 작성된 동일한 프로그램은 동일한 마이크로 컨트롤러에서 훨씬 느리게 실행됩니다.

추신 : pbasic과 같은 기본 변형은 명명 유사성에도 불구하고 Visual Basic과 공통점이 거의 없습니다. 그들은 매우 다른 방식으로 분기되었습니다.

좋은 질문...

기본적으로 (sic!), 나는 대답이 없습니다. 나는 Lua가 배우기가 매우 쉽다고 말할 것입니다. 아마도 기본만큼 쉽게 쉽게 (첫 번째 언어 중 하나 일 것인지, 나는 8 비트 컴퓨터의 많은 방언을 사용했지만) 더 강력합니다 (OO 허용 또는 기능적 스타일과 심지어 혼합) 및 어떻게 든 더 엄격한 (goto ...).

나는 파이썬을 잘 모르지만, 내가 읽은 바에 따르면, 그것은 Lua보다 쉽고 강력하며 엄격합니다.

게다가, 둘 다 "표준화 된"사실상, 즉 "표준화 된"것입니다. 많은 변형이있는 기본과 달리 방언이 없습니다 (다양한 버전 옆).

또한 둘 다 신중하게 VM을 제작했으며 효율적이며 (대부분) 버그가 없습니다. 자신의 해석자를 만들면 기존 VM을 가져 와서 기본 소스에서 바이트 코드를 생성하거나 직접 만들어야합니다. 확실히 재미있는 것, 그러나 시간이 많이 걸리고 벌레가 발생하기 쉬운 ...

그래서 나는 단지 Basic이 좋은 은퇴를하게 할 것입니다 ... : -p

추신 : 왜 매달려 있습니까? 아마도 Microsoft는 그것에 대한 외국이 아닐 것입니다 ... (VB, VBA, vbscript ...)
일부 청중과 함께 많은 방언 (Realbasic, Darkbasic 등)이 있습니다.

흔들 의자에서 두 명의 오래된 타이머처럼 들릴 위험이 있으므로 "오늘날 아이들은 기본을 좋아하지 않는다"고 역설적으로 "그들이 얼마나 좋은지 알지 못한다"고 말하자.

기초가 가장 큰 힘이었습니다 언제나 이해력. 사람들이 할 수있는 것이 었습니다 가져 오기. 그것은 학계와 언어 개발자들에 의해 오랫동안 무시되었습니다.

기본을 구현하려는 것에 대해 이야기 할 때, 나는 당신이 라인 번호가있는 기본이 아니라 구조화 된 형태에 대해 이야기하고 있다고 가정합니다. 그 문제는 구조화 된 프로그래밍으로 이동하기 시작하자마자 - 기능, '왜 캔트 방금 그 자리를 얻었습니까?

또한 기본이 "올바르게되기 쉬운"이유 중 하나는 당시 도서관이 오늘날만큼 중요하지 않았기 때문입니다. 라이브러리는 객체 지향 프로그래밍이 아닌 경우 구조화 된 것을 암시하므로, 더 현대적인 역동적 인 스크립팅 언어가 오늘날 사람들이 더 잘하는 현실에 "맞는"상황에 처해 있습니다.

실제 질문이 "음, 통역사를 구현하고 싶기 때문에 투자 수익을 내기 위해 나옵니다"라면 실제로 구현하기 쉬운 문법의 문제가됩니다. 나는 기본이 실제로 그와 관련하여 많은 장점이 없다고 제안합니다 (실제로 당신이 실제로 당신이 하다 줄 번호와 매우 제한된 문법으로 돌아갑니다).

요컨대, 나는 ~하지 않다 기본 통역사에 노력을 투자해야한다고 생각하십시오.

글쎄,이 사람들은 기본적인 공간에 여전히 자리가있을뿐만 아니라 돈을 벌 수 있다고 생각하는 것 같습니다.

http://www.nsbasic.com/symbian/

나도 ZX81에서 시작했습니다. 그러나 ~함에 따라 토니 호어 기본의 프로그래밍은 로마 숫자를 사용하여 긴 분할을 시도하는 것과 같습니다.

다른 많은 언어들이 죽은 것으로 간주되지만 기본은 계속 매달려 있습니다.

슬프게도 그렇습니다. 나는 이것에 대해 Bill Gates를 비난했다 ... Basic은 마지막 의식을 말하는 사제와 함께 들것에 있었고, MS는 그것을 천연두처럼 가져 왔습니다.

나는 QBASIC 일에 BASIC로 프로그래밍했었다. QBASIC에는 서브 루틴, 기능, 구조 (유형이라고 불렀음)가 있었는데, 그게 생각합니다. 이제 이것은 Python이 보유한 모든 기능에 비해 제한적으로 보입니다. OO, Lambdas, Metaclasses, Generators, List Comprehensions, 내 머리 꼭대기에서 몇 가지 이름을 지정합니다. 그러나 그 단순성은 기본의 강점이라고 생각합니다. 간단한 임베드 가능한 언어를보고 있다면 QBasic이 더 빠르고 이해하기 쉬울 것이라고 확신합니다. 그리고 절차 적 langauge는 아마도 대부분의 임베딩/스크립팅 유형의 응용 프로그램에 충분할 것입니다.

기본이 여전히 주변에있는 가장 중요한 이유는 비주얼 기본이라고 말하고 싶습니다. 90 년대에 오랫동안 VB는 C ++ Turing Tarpits 중 하나에 빠지지 않고 GUI, COM 및 DB 코드를 작성하는 유일한 방법이었습니다. [델파이도 좋은 선택 이었지만 불행히도 VB만큼 인기가 없었습니다.] 나는이 VB와 VBA 코드가 여전히 사용되고 있으며 여전히 기본이 여전히 죽지 않았다는 것을 유지하고 있다고 생각합니다.

즉, 기본 통역사 (LLVM을 사용하여 컴파일러 또는 유사한 것)를 기본적으로 작성하는 것이 좋은 근거가 있다고 말하고 싶습니다. QBASIC과 유사한 것을 구현하면 깨끗하고 간단한 사용하기 쉬운 언어를 얻을 수 있습니다. 언어 디자인 문제를 해결할 필요는 없으며 가장 중요한 부분은 사람들이 이미 당신의 언어를 알고 있다는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top