Vale a pena estudar Java?

Vou aproveitar esse tópico e citar um caso aqui, quem programa C pra microcontroladores vai entender o que digo e porque o java se tornou o Java.

Se você programar para microcontroladores familia 8051 por exemplo usando SDCC, ou Keil
ou o Side51 ou outro da sua preferencia, é de assustar como que de um para outro muda tudo embora ambos tem em comum a linguagem C e a mesma arquitetura.

Em C dá pra fazer essa bagunça, em Java não.

Em Java você poderá pegar 1000 bibliotecas de terceiros diferentes, mas lá dentro tem o que falta em C, padronização e você rapidamente saca as coisas e a curva é minima.

Não existe Java ansi e Java não ansi.

Ponto pro Java e quem desenvolve nele agradece.

Fiquei curioso, o que muda na sintaxe do C de um controlador para o outro? Nunca mexi com isso

Muda a estrutura da biblioteca, a forma de chamar eventos como empilhar, muda tudo, mesmo sendo a linguagem C. Não é a sintaxe em si da linguagem C embora tenha isso tambem, e sim como tudo é organizado.
E por final o compilador vai gerar o mesmo HEX.

Mas essas são particularidades dos controladores, não? :thinking: Tem algum impedimento técnico para alguém criar uma especificação padrão e criar os adaptadores da spec padrão para as implementações específicas?

To perguntando pq Java é isso, alguém cria uma especificação e aí a galera vai e adapta os drivers específicos ao padrão. JDBC, por exemplo. Cada banco de dados tem o próprio protocolo. Aí criaram o JDBC para padronizar: cada um vai lá e implementa um adapter, mapeando de JDBC pro driver específico.

Eu fiquei curioso pq talvez tenha algum impedimento que eu não conheça… alguma diferença na sintaxe ou algo que impeça código ansi C de ser compartilhado entre esses compiladores diferentes :thinking:

Não existe impedimento nenhum de padronização do C ansi para microcontroladores, o que acontence em C é que cada um pode pinta e borda e mais um pouquinho, então adeus padronização. A linguagem C possibilita isso.

Mas o Java também permite! Nada impede a gente de criar drivers sem obedecer aos padrões estabelecidos.

Eu acho que é muito mais uma característica da comunidade do que da linguagem em si. O que vc acha?

Não é disso que se trata. Quando você cria algo em Java, lá dentro é o Java de sempre, Já em C nem sempre é assim.

Teve uma epoca que a Microsoft fez isso com o Java dela, fugiu dos padrões, e tomou um belo processo da Sun que perdeu até as calças.

Quando você faz um compilador usando o nome Java ele tem que passar por todos os testes
de padronização do Java, caso contrario não é considerado Java.

1 curtida

Para IA eu particularmente recomendo estudar Python e R, mas não precisa se limitar a isso.
Se quiser uma boa maneira de começar com Python, tente esse curso: Python Fundamentos para Análise de Dados

1 curtida

livro