>

질문은 간단합니다!

<올>
  • 시간이 있다면 스몰 토크 학습을 시작 하시겠습니까? 왜? 왜 안돼?
  • Smalltalk를 이미 알고 있습니까? 왜 스몰 토크를 추천 하시겠습니까? 왜 안돼?
  • 개인적으로 저는 Ruby on Rails 프로그래머이고 정말 마음에 듭니다. 그러나 나는 다양한 블로그를 읽고 일부 사람들이 "Smalltalk Light"와 같은 루비를 부르고 있기 때문에 스몰 토크에 대해 생각하고 있습니다. Smalltalk에 관심이있는 두 번째 이유는 해변 입니다.

    아마도 이전에 같은 전환을 했습니까?

    수정 :실제로 Smalltalk/Seaside에 대해 가장 흥분한 점은 다음 WebDevRadio 에피소드입니다. 제 52 회 : 해변의 랜들 슈워츠 (다른 것들 중에서)


    • 답변 # 1

      루비를 좋아한다면 스몰 토크를 좋아할 것이다. IIRC Seaside는 Gemstone/S OODBMS의 일부인 Gemstone VM으로 이식되었습니다. 이것은 Ruby보다 스레드 지원이 훨씬 뛰어나므로 대용량 시스템에 더 적합한 백엔드입니다. 이 점을 면밀히 살펴 보는 것이 좋습니다.

      Smalltalk를 배우는 이유 :

      정말 정말 멋진 프로그래밍 환경입니다. C ++이나 Java에 익숙한 사람들에게는 약간의 문화 충격이되는 경향이 있습니다. 작업하기에 정말 좋은 환경이라는 것을 알게 될 것입니다. 내가 사용한 Old Digitalk은 매우 유쾌한 시스템입니다. 켄트 벡 (Kent Beck)과 마틴 파울러 (Martin Fowler)와 같은 구 XP와 OO 구루의 많은 사람들은 스몰 토크에서 이빨을 깎아 내고 가끔은 좋은 옛날 시절을 갈망하는 소리를들을 수 있습니다. (인용을 위해 Frank Shearer에게 감사드립니다, +1)- 민첩한 개발은이 플랫폼에서 시작되었습니다.

      역사상 가장 생산적인 개발 플랫폼 중 하나입니다.

      몇몇 성숙 된 구현이 존재하고 놀랍게도 큰 코드 기반이 있습니다. 언젠가는 개발자 생산성과 출시 시간이 큰 금융 시장 분야에서 상당히 유행했습니다. 1990 년대 중반까지는 응용 프로그램 개발에 적합한 상업적으로 지원되는 고급 언어를 원한다면 그것은 도시에서 유일한 게임이었습니다 (LISP 제외).

      배치가 쉽습니다. 이미지 파일을 적절한 디렉토리에 놓기 만하면됩니다.

      사실은 아니지만 Gang of Four Book은 몇 가지 예에서 스몰 토크를 사용합니다

      Smalltalk를 배우지 않는 이유 :

      틈새 시장의 무언가입니다. 구직에 어려움이있을 수 있습니다. 그러나 서버를 소유 한 일종의 .com 응용 프로그램을 생성하는 경우 문제가되지 않을 수 있습니다.

      많은 사람들은 레거시 시스템으로 간주합니다. 플랫폼에는 새로운 개발이 거의 없습니다 (시사 이드가 약간의 르네상스를 불러 일으키는 것처럼 보이지만).

      전통적인 소스 제어 시스템 (적어도 90 년대 중반을 사용했을 때)에서 잘 작동하지 않는 경향이 있습니다. 아직 그렇지 않을 수도 있습니다.

      약간 어색하고 스스로 연주하는 것을 좋아합니다. 파이썬이나 루비는 처음부터 통합하기 위해 만들어졌으며 더 난잡하고 타사 소프트웨어와 쉽게 통합되는 경향이 있습니다. 그러나 다양한 다른 주류 시스템은 이러한 유형의 절연성으로 인해 그 정도가 다소 낮아져서 그 사용을 많이 방해하지 않는 것 같습니다.

    • 답변 # 2

      글쎄, 당신이 이름으로 나를 언급 한 이후로, 나는 차임해야한다고 느낍니다.

      포드 캐스트 인터뷰에서 언급 한 것처럼 http://MethodsAndMessages.vox.com/의 블로그에서 반복적으로 시연 한 것처럼 "작은 이야기의 해"입니다. 그리고 지난 10 개월 동안 스몰 토크 옹호를 해본 결과 실제로 일어나고 있음을 알 수 있습니다. 더 많은 고객이 스몰 토크와 시사 이드로 향하고 있으며 스몰 토크 공급 업체는 모두이 새로운 관심을 끌기 위해 열심히 노력하고 있습니다. 더 큰 스몰 토크 회의가 계획 중입니다. 더 많은 채용 공고가 게시되고 있습니다. 더 많은 블로그 게시가 이루어지고 있습니다.

      오늘 스몰 토크를 사용한다면 혼자가 아닙니다. 거기에도 많은 사람들이 있습니다.

      수정

      몇 년 후, 나는 이제 Dart를 추천합니다. Google에서 시작했지만 현재 ECMA위원회가 소유 한 훌륭한 언어입니다. node.js 스타일로 서버 측을 실행하지만 JavaScript로 변환하여 최신 브라우저에서 클라이언트 측도 실행합니다. 좋은 책, 블로그, 도움말 채널, IDE 지원, 공개 라이브 페이스트 빈이 많이 있습니다. 나는 그것이 다리를 가지고 있다고 생각합니다. 현장이나 온라인에서 그것을 가르치기 위해 코스웨어를 작성하고 있으며, 저의 작품에 한두 권의 책이 있다고 확신합니다. 구식 Smalltalker 인 Gilad Bracha는이 디자인의 주요 공헌자이므로 Dart에는 Smalltalk가 많이 있습니다.

    • 답변 # 3

      Smalltalk는 배우기에 좋은 언어입니다. 하루가 걸립니다. 그것은 단지 학문적 언어 이상입니다. 사람들은 수십억 달러를 처리 할 수있는 거대하고 확장 가능하며 복제 가능한 애플리케이션을 구축하고 있습니다. 그들은 그것에 대해 많이 이야기하지 않습니다. 예를 들어 GemStone 및 Orient Overseas Container Lines를 참조하십시오. 해운업 사례 연구.

      씨 사이드는 스몰 토크를 배우는 좋은 이유이지만, Rails보다 수십 배나 더 좋은 것은 아니라고 생각합니다.

      저를 설득시킨 것은 GemStone입니다. 저는 Gemstone의 GLASS (GemStone, Linux, Apache, Smalltalk, Seaside)를 정말 좋아합니다. 그 가장 중요한 부분은 GemStone으로, 대부분 생각하지 않고 모든 객체 지속성을 처리합니다. 데모를보고 사람들이 GemStone으로 무엇을하고 있는지에 대해 들으면 "큰 응용 프로그램"의 의미에 대한 내 생각이 다시 설정됩니다.

      Rails에 대해 가장 큰 어려움을 겪는 부분은 객체 관계형 매핑입니다. Ruby는 GLORP (SmallTalk 용 ActiveRecord를 처리하는 GLORP) 나 Perl 또는 그 밖의 다른 것들과 흡사하기 때문에 아무것도 아닙니다. 데이터베이스 테이블에 객체를 매핑하는 것은 매우 어렵다. GemStone을 사용하면 데이터베이스에 대한 생각이 사라지고 데이터베이스 작업도 사라집니다. 거대한 돌 (또는 원숭이 무리)이 내 등에서 벗어난 것 같습니다.

    • 답변 # 4

      >팔과 다리 비용이 들지 않는 스몰 토크 개발 환경을 찾을 수 없습니다

      Google-무료 스몰 토크

      Cincom Smalltalk, Squeak, GNU Smalltalk

    • 답변 # 5

      Smalltalk 학습은 OO (Alan Kay)를 발명 한 사람의 관점에서 객체 지향 소프트웨어 개발에 대한 토대를 제공합니다. 겹치는 창 환경에 대한 아이디어는 스몰 토크에서 나왔습니다.

      Smalltalk 학습의 걸림돌은 다음과 같은 흐름 제어를위한 이상한 구문을 가진 메시지 전달 시스템이라는 것입니다.

      i < 60
         ifTrue: [ self walk ]
      
      

      여기서 보지 못한 일관성을 가진 매우 성숙한 클래스 라이브러리를 가지고 있습니다. 모든 환경 (상업용 스몰 토크)의 클래스 라이브러리에는 언어 마스터로부터 배울 수있는 소스가 있습니다. 스몰 토크를 프로그래밍 할 때는 항상 환경에서 어떻게 수행되는지 질문합니다.

      작은 대화는 일반적으로 시스템의 모든 객체에 대한 라이브 환경 인 이미지로 구현됩니다.

      대화식 디버거는 스몰 토크와 Ruby를 분리시킵니다.

      Seaside는 웹 개발 프레임 워크이며 Smalltalk에 새로운 주목을 받았습니다. 연속 적중 환경으로 적중 디버깅과 부드러운 리치 클라이언트 유형 개발 경험을 제공합니다 (최상의 애플리케이션 흐름은 단일 방법으로 설계 될 수 있음). script.aculo.us와 통합되어 Smalltalk 내에서 쉽게 호출 할 수 있습니다.

  • 이전 linux - Amazon EBS를 여러 인스턴스에 연결할 수 있습니까?
  • 다음 swift - Firestore에서 일회성 리스너를 추가하거나 활성화하는 방법