Qual idioma era “padrão” para o desenvolvimento da Apple antes do Objetivo C?

27

Não acho que o Objective C estivesse em uso desde o início do desenvolvimento de hardware da Apple. Quais idiomas os desenvolvedores de aplicativos usaram para os computadores Apple anteriores, como Apple II ou Mac Classic?

JoelFan
fonte

Respostas:

35

Em 1985, Larry Tesler desenvolveu um sabor Pascal para a Apple, Object Pascal , que se tornou o idioma padrão para o System 6 . Foi baseado no Clascal , uma variante de Pascal de 1983 para a Lisa , também desenvolvida na Apple.

O Object Pascal foi usado no MacApp , o principal framework de aplicativos da Apple na época. O MacApp 3.0, lançado em 1991, foi reescrito em C ++ e a Apple posteriormente abandonou o suporte ao Object Pascal em favor do C ++ quando eles passaram dos chips 68K da Motorola para o PowerPC.

O Object Pascal da Borland, que hoje vive como Embarcadero Delphi , começou em 1986 como um conjunto de extensões do Turbo Pascal , que deveriam ser semelhantes ao Object Pascal da Apple. Niklaus Wirth, criador de Pascal, foi consultado pela Apple e pela Borland para suas respectivas variantes.

Por outro lado, o Objective C era o idioma principal do NeXTSTEP e foi introduzido na Apple somente depois que o NeXT foi adquirido em 1996.

yannis
fonte
4
Boa resposta, mas como é aceito, você deve realmente adicionar menções para Pascal e C. Desde o início, o Mac Toolbox e o SO usaram as convenções de chamada do Pascal e foram documentados amplamente com o Pascal. Havia vários compiladores Pascal disponíveis; o mais popular foi provavelmente o Lightspeed Pascal. C também era popular desde o início e, quando a Think comprou o Lightspeed C e o Lightspeed Pascal, C era provavelmente a opção "padrão" para desenvolvedores independentes. Além disso, as metrowerks C ++ e PowerPlant merecem uma menção.
Caleb
1
Essa resposta parece se inclinar mais para quais estruturas foram usadas para o desenvolvimento, em vez de quais linguagens . A pergunta do OP era sobre Objective-C (a linguagem), não Cocoa (a estrutura), mas a resposta tem um parágrafo no MacApp (a estrutura) e pouca menção ao C / C ++ além do fato de o MacApp ter sido portado para ele. Um monte de aplicações foram escritas diretamente contra o Mac OS Toolbox em Pascal, C e / ou C ++. Boa resposta caso contrário, mas precisa de uma cobertura mais ampla de C / C ++.
precisa saber é
12

A Apple] [foi geralmente programada no código de máquina BASIC ou 6502.

O Lisa geralmente era programado em Pascal.

Os primeiros aplicativos para Macintosh foram escritos em Pascal, primeiro no Lisa e depois no próprio Mac.

O Think Pascal foi o ambiente de desenvolvimento mais popular por um tempo e, em seguida, o Think C. O Think C tinha objetos leves, às vezes chamados de C ++ - e, posteriormente, C ++. Ele também tinha sua própria biblioteca de classes chamada, apropriadamente, a Think Class Library.

O MPW da Apple também era popular, pois permitia misturar idiomas (geralmente Pascal, C, C ++ e assembler) e compilações de scripts semelhantes a um ambiente unix, embora a sintaxe fosse muito diferente.

O MacApp foi escrito em Object Pascal e, como alguém disse, mais tarde mudou-se para C ++. Com a mudança para os sistemas PowerPC, muitos programadores mudaram para o Metrowerks CodeWarrior como um ambiente de desenvolvimento e sua biblioteca de classes C ++, PowerPlant.

O Objective-C foi usado no NeXT e depois no Mac OS X, embora os aplicativos Mac OS X também pudessem ser escritos em C / C ++ por meio da API "Carbon" da Apple. Atualmente, a maioria dos aplicativos para Mac e iOS é escrita em Cocoa / Obj-C, embora muitos tenham bibliotecas C ou C ++ por baixo.

EricS
fonte
1
A Apple /// também foi programada em Pascal (ISTR havia também uma variante do BASIC disponível). Acho que usamos o UCSD pSystem, mas também havia um compilador Apple Pascal.
TMN
O Apple /// foi o único computador da Apple que nunca programei. Lembro-me de um pSystem UCSD para a Apple] [também, mas não acho que havia uma boa maneira de distribuir aplicativos escritos nele.
Erics
8

O idioma padrão do Mac OS Classic era Pascal. A documentação da API do sistema operacional foi toda escrita para Pascal, e tanto do sistema operacional quanto não foi gravado no ASM otimizado manualmente foi gravado em Pascal.

Após a transição para a arquitetura PowerPC, eles reescreveram o sistema operacional em C ++, acompanhado por uma diminuição muito perceptível na estabilidade do sistema, o que não surpreenderá quem estiver familiarizado com Pascal e C ++. A documentação da API continuou sendo escrita principalmente para Pascal, até Steve Jobs voltar e começar a tentar forçar o Objective-C a cair na garganta de todos.

Mason Wheeler
fonte
4
"acompanhado por uma diminuição muito perceptível na estabilidade do sistema, o que não surpreenderá ninguém que esteja familiarizado com Pascal e C ++": Tendo trabalhado com os dois idiomas, posso facilmente acreditar nisso. Às vezes, ainda me pergunto por que o Pascal (ou qualquer extensão orientada a objetos) atualmente é menos popular que o C ++: afinal, o tempo de desenvolvimento e de correção de erros custa dinheiro. Talvez seja porque Pascal não conseguiu criar uma comunidade forte e compacta semelhante à do C ++.
Giorgio
3
Pascal falhou principalmente porque não havia um padrão (bem, o padrão chegou tarde demais) e o subconjunto comum era muito restritivo (era necessário confiar em extensões para fazer compilação separada, era necessário confiar em extensões para escrever uma sub-rotina capaz de aceitar matrizes de comprimento variável, você teve que contar com extensões para ... o nome dele)
AProgrammer
4
Brian Kernighan escreveu "Por que Pascal não é minha linguagem de programação favorita" .
Keith Thompson
4
@KeithThompson, infelizmente, muitas pessoas citam esse ensaio como argumento contra qualquer extensão de Pascal. É como citando um artigo hipotética chamada "Por que C não é a minha favorita Linguagem de programação", o que hipoteticamente falar sobre a falta de aulas adequadas e herança, e usá-lo como um argumento contra qualquer C ++ ou Objective C.
acelent
2
@Paulo: Caramba, eu diria que o C ++ ainda não tem classes e herança adequadas. Se um objeto é um tipo de valor, não um tipo de referência, você quebrou o LSP, o princípio central da herança e o próprio OOP, desde o início. É por isso que todas as outras grandes linguagens orientadas a objetos (incluindo Simula, que originou o conceito, e Smalltalk, que se originou o termo "programação orientada a objetos) não fazê-lo dessa maneira.
Mason Wheeler
2

... e antes do Mac (Apple II), a maior parte da programação era em BASIC. (Para todas as variantes do Apple II para o IIgs)

Também me lembro de ter feito o desenvolvimento de C ++ no System 7 usando o Metroworks CodeWarrior - este foi (é claro) o PowerPC.

Chad Thompson
fonte
4
Na verdade não. As maçãs antigas vinham com o BASIC embutido, mas mesmo para os padrões do dia era considerado principalmente como uma linguagem de brinquedo devido ao seu baixo desempenho e ao suporte mínimo a sons e gráficos. Havia exceções, é claro, mas a programação mais séria nos sistemas Apple II era feita em Pascal ou ASM.
Mason Wheeler
2
Ah - obrigada. Minha experiência de programação no Apple II foi toda BASIC, pois foi minha primeira exposição à programação em geral. (Portanto, mantivemos o BASIC e esse conjunto de instruções.). Também me lembro de fazer "Logo", mas não sei se alguém fez algum trabalho sério com ele.
Chad Thompson
O UCSD Pascal era a única linguagem "real" disponível para a Apple] [que me lembro, mas poucas ou nenhuma aplicação o utilizava. Se o BASIC era muito lento para você, você geralmente ia direto para a montagem.
Gort the Robot
Apesar de suas limitações, não duvido que "a maior parte da programação" daqueles dias tenha sido feita no BASIC.
precisa saber é
@ dan04: Tanto quanto me lembro, o assembly era comumente usado para programar a Apple] [. Mudar para o modo de monitor foi uma das primeiras coisas que os hackers aprenderam.
Giorgio