Gostaria de saber se algumas das principais linguagens de programação absolutamente não podem ser usadas para criar alguns tipos muito específicos de software.
Por linguagem de programação principal, quero dizer os gostos de C ++, C #, Java, Ruby, Python. Por "não pode ser desenvolvido", quero dizer que não pode ser desenvolvido ou não é realista fazê-lo devido ao desempenho, dificuldade de implementação, etc.
Eu sempre pensei que qualquer linguagem de programação poderia ser usada para resolver qualquer problema, mas ultimamente tenho pensado que algumas linguagens são inadequadas para alguns projetos.
Se você puder fornecer exemplos de tais aplicativos, isso será apreciado. Obrigado.
programming-languages
mbillard
fonte
fonte
task
paraproject
. Espero que seja menos confuso.Respostas:
Linguagens de nível superior, especialmente aquelas que não fornecem nenhum meio de mexer com a memória diretamente (da sua lista: Java, Ruby, Python) não são adequadas para a programação de sistemas. Para dar exemplos concretos, eu não implementaria (parte de - por exemplo, driver) um sistema operacional ou uma máquina virtual / intérprete no Python.
O inverso não é tão próximo do "impossível", mas escrever, por exemplo, scripts de utilidade ou um protótipo para software complexo e complicado, como um compilador em, por exemplo, C ++ (duplamente em C), pode ser tão complicado que se torna um matador de motivação, considerando que você recebe muitos encargos menores no topo do problema real.
fonte
Absolutamente, tudo depende do hardware subjacente
Por exemplo, se eu fosse programar o tear Jaquard , não seria possível usar o C ++ para fazer isso porque não existe nenhum compilador para esse hardware. Eu diria que nenhum compilador seria possível porque o hardware não suporta muitos dos requisitos que o C ++ exigiria para funcionar como uma linguagem.
Uma extensão disso está no mundo dos computadores analógicos, que funcionam de maneira totalmente diferente dos computadores digitais que prevalecem atualmente.
No entanto, você pode considerar que, dado o tempo suficiente, poderá criar um compilador / montador para qualquer máquina von Neumann (entrada-> processador / armazenamento-> saída). Mas algumas máquinas von Neumann, como o MU0 , são simples demais para permitir sua execução. Mais informações sobre MU0 para o leitor interessado .
fonte
Sim, há certas coisas que não podem ser feitas com vários idiomas. Aqui estão alguns dos principais critérios que afetam isso:
Essas são algumas das coisas que eu poderia pensar. Tenho certeza que existem mais. Mas o ponto importante é que sim, existem requisitos-chave limitantes que impedirão o uso de um idioma.
fonte
restrict
implementações pré- C.Sim, isso está correto e sempre foi. "Incapacidade" e "Inadequado" são muito diferentes.
Você pode bater um prego em uma placa com a ponta de uma chave de fenda. Você pode apertar um parafuso com a ponta de um martelo. Mas o martelo é muito mais adequado e é uma ferramenta melhor para pregos, e uma chave de fenda é uma ferramenta melhor para fixadores rosqueados.
Linguagens de programação são ferramentas. Certas ferramentas são melhores em determinadas tarefas.
fonte
A única coisa que posso considerar irrealista é o desenvolvimento de drivers de dispositivos de baixo nível em uma linguagem altamente virtualizada como Java ou C # - se você estiver tentando manipular o hardware, a VM mais incrível (que torna tantas coisas tão agradáveis e simples) vai ficar no seu caminho. Tenho certeza de que isso poderia ser feito, se você realmente quisesse, mas isso envolveria muitas adaptações de VM para fazê-lo funcionar.
Qualquer outra coisa pode ser feita praticamente em qualquer idioma que você quiser.
fonte
Sistema incorporado vem à mente. Não é realista programar um roteador, por exemplo, ou algum tipo de robótica usando uma linguagem como C #. Embora existam projetos como o netduin alavancando a micro estrutura, talvez eu tenha refutado meu ponto de vista.
fonte
As chamadas linguagens 4GL são limitadas pelo ambiente de programação ao qual estão vinculadas. Você não pode programar uma GUI com ABAP, por exemplo. Tudo o que se pode fazer é como uma GUI no ambiente limitado de um cliente SAP (e isso só pode ser executado conectado a uma instância do SAP).
fonte