Ainda vale a pena estudar assembly?

[quote=luistiagos][quote=assembler][quote=rmendes08]http://info.abril.com.br/professional/os-melhores-na-graduacao.html

o link acima é uma boa referência para faculdades de computação …

Mas de maneira geral, os cursos das públicas são os melhores, mas tem particulares muito boas como a PUC. O que você deve evitar são as UniEsquinas da vida, que aceitam qualquer um. Nessas faculdades geralmente o nível dos alunos é mais baixo, e como consequencia, o nivel do curso de maneira geral cai junto.[/quote]

O que devo fazer para saber quais são as UniEsquinas da vida, que aceitam qualquer um?

[quote=entanglement]Estou aqui no meu departamento e meu chefe é formado engenheiro químico, eu sou engenheiro eletrônico, assim como o indiano que também está trabalhando aqui, e o outro carinha aqui do meu lado tem doutorado não lembro exatamente em quê - sei lá se engenheiro civil é “menos suficiente” que engenheiro da computação. Aliás, não tem muitos engenheiros de computação aqui.
O que é ‘mais suficiente’ é você procurar o seu caminho e estudar numa escola de nome - até para conseguir bons contatos (mais conhecidos como “Q.I.” - “quem indica”).
E para estudar numa escola de nome, se você não nasceu filhinho de papai, vai ter de ralar bastante. Não é fácil não. [/quote]

[quote=entanglement]Não vou listar as “escolas de nome” até porque:

  • Há rankings disponíveis
  • Depende muito do tipo de coisa que você for fazer
  • Mudam bastante, de modo geral - e é por isso que há rankings anuais
  • Se você for fazer um curso no estrangeiro, o que é de “nome” lá pode ser completamente desconhecido aqui. Por exemplo, não tenho razões para duvidar que a Iran University of Science & Technology seja uma escola de nome lá no Irã (uma vez até houve uma pessoa de lá que se inscreveu no GUJ e tentou postar algumas coisas em inglês) - pela Wikipedia ela é uma das quatro grandes no Irã, mas aqui ela é completamente desconhecida.

De modo geral, muitas universidades e faculdades públicas aqui do Sudeste (como USP, Unicamp, ITA, IME etc.) sáo as tais “escolas de nome” que disse genericamente.
Eu disse que o “Q.I” é importante - por exemplo, há uns 30 anos atrás (não sei se hoje ainda é assim) a FAAP não era exatamente conhecida por ser uma escola “de renome” mas porque havia muita gente rica estudando lá e você poderia conseguir bons contatos - e como o pessoal costuma dizer, “o pior problema do pobre é que seus amigos também são pobres”. Não sei como isso ficou hoje em dia.[/quote]

O que devo fazer para saber quais são as universidades e faculdades que não são exatamente conhecidas por serem escolas " de renome", mas que há muita gente rica estudando nelas? Pergunto isso porque estou muito interessado em conseguir bons contatos.

[quote=luistiagos]Aqui vai um “Olá, Mundo” em assembly:

variable:
   .message   db   "Olá, Mundo!$"
code:
   mov  ah, 9
   mov  dx, offset .message
   int  0x21
   ret

e um em C++

cout << "Olá, Mundo!"

Qual dos 2 vc acha mais produtivo e menos trabalhoso?

A resposta correta desta pergunta vai te responder o pq assembly não é mais tão usado hoje em dia…[/quote]
luistiagos, o mais produtivo e menos trabalhoso é o “Olá, Mundo” em C++. luistiagos, mas C++ dá grana igual ao Assembly?

luistiagos ,você disse ou não que uma coisa que sabe é que esta área de engenharia eletrica e de hardware da bem mais grana do que TI por exemplo, porem tem um mercado bem mais restrito? Mas a maioria dos programadores sabem disso? Se soubessem, o Assembly seria o que você chama de “tão usado hoje em dia…”?

No assunto Vale a pena estudar assembly, assunto que foi colocado no GUJ por você em 31/07/2008, você perguntou “Vale a pena estudar assembly?”
Parte da resposta do popeye foi assim:“Um salário minimo pra quem programa direto em assembly ta na faixa de uns 30 mil.”
Você perguntou a ele onde foi que le viu isso. Parte da resposta dele foi assim: " Claro que não. Ninguém bota uma vaga no Catho pra programador Assembly. Tem que ter os contatos, as entrelinhas. "
Você falou para ele que "mas esta do 30k por mes se isto for verdade mesmo vou começar a me dedicar mais a hardware e micocrontoladores do que programação de alto nivel… "
Quantos mais que se soubessem disso, teriam começado a se dedicar mais a hardware e microcontroladores do que programação de alto nivel? A maioria dos programadores? Se a resposta a essa pergunta tivesse sido sim, a maioria dos programadores provavelmente teriam decidido como você, decidido começar a se dedicarem mais a hardware e micocrontoladores do que programação de alto nivel e provavelmente o Assembly hoje em dia estaria sendo o que você chama de “tão usado hoje em dia…”.

[/quote]

Cara pelo jeito ta dificil de entender heim… vai lá no netcarreiras: www.netcarreiras.com.br e procura vaga para programador assembly e veja quantas vc acha, provavelmente algo proximo a zero, isto pq hoje em dia assembly não tem mais mercado! A grande maioria das coisas vc pode fazer com C/C++ que como eu te mostrei e muito mais produtivo, até sistemas embarcados, pics, chips, hardwares hoje em dia permitem que vc programe em C ao invéz de assembly! Claro que tem as exeções mas elas são exeções e não regra! Mesmo um engenheiro de hardware tende a trabalhar mais com C e em casos raros usar assembly! As faculdades ensinam assembly não para o cara aprender a programar em assembly mas sim para ele ter uma base solida de como funciona o hardware, os endereços de memoria, os registradores, compiladores e por ai vai… Para o mercado raramente vai achar algo que use assembly.

O pq vc acha que ele disse que o salario de quem programa direto assembly é uns 30k? Pq hoje em dia não existe ou quase não existe pessoas que fazem isto, e pq não existem estas pessoas? pq não existe demanda! Mas estes 30k é viajem do cara. Mesmo se achassem um vovo que programasse em assembly para uma demanda em um microcontrolador antigo seria mais barato trocar o microcontrolador para um mais novo que pagar isto pro cara. E é verdade engenheiros eletronicos ganham bem mais que nos de TI, talvez pq a profissão deles é regulamentada, tem um orgão sério e não tem amadores no mercado. Mas não entrarei neste ponto aqui, pois já tem um outro tópico sobre isto… Naquela época até pensava em fazer uma faculdade de engenharia elétrica, porem hardware não é minha “praia” meu negocio é software e já estou velho para fazer uma outra faculdade de engenharia!
Mas se vc quer tanto mexer com hardware e é novo, pq não faz uma faculdade de engenharia elétrica? [/quote]

luistiagos, como é que vou diferenciar nos fóruns o conteúdo que é viagem e o que não é viagem? O Popeye fez essas afirmações, deu a entender que estava falando sério. E sobre as afirmações que foram faladas no atual assunto, o que devo fazer para saber qual é e qual não é viajem, se tem viajem?

veja bem… vc não pode confiar em todas as informações em qualquer lugar da net, para averiguar se a informação realmente é algo valido pesquise sobre ela e veja… use um pouco mais o google e veja se uma informação é realmente relevante… Se ela se encontra em varias fontes distintas ela possivelmente é relevante… Mas as vezes é complicado mesmo… E procure usar também mais a sua lógica para verificar se tal informação é relevante… Neste caso dizer que quem trampa com isto ganha 30k não tem muita lógica não concorda?!

assembler, desculpa perguntar mas vc tem quantos anos?

[quote]luistiagos, o mais produtivo e menos trabalhoso é o “Olá, Mundo” em C++. luistiagos, mas C++ dá grana igual ao Assembly?

luistiagos wrote:
Uma coisa que sei é que esta área de engenharia eletrica e de hardware da bem mais grana do que TI por exemplo, porem tem um mercado bem mais restrito.[/quote]

Acho isso bem relativo, programadores top’s de linguagens de alto nível também ganham muita grana, basta você ser bom.

obs: falo isso com base nos programadores que eu conheço, meu vizinho e grande amigo trabalha com java ganha 8k da empresa dele, da aula em faculdade e as vezes faz uns sistemas por fora, acho que deve dar uma boa grana rsrs, outra amiga minha trabalha com cobol, ganha 15k no emprego dela, outro conhecido analista de sistemas, 15k na empresa dele… enfim…

[quote=Sharkns][quote]luistiagos, o mais produtivo e menos trabalhoso é o “Olá, Mundo” em C++. luistiagos, mas C++ dá grana igual ao Assembly?

luistiagos wrote:
Uma coisa que sei é que esta área de engenharia eletrica e de hardware da bem mais grana do que TI por exemplo, porem tem um mercado bem mais restrito.[/quote]

Acho isso bem relativo, programadores top’s de linguagens de alto nível também ganham muita grana, basta você ser bom.

obs: falo isso com base nos programadores que eu conheço, meu vizinho e grande amigo trabalha com java ganha 8k da empresa dele, da aula em faculdade e as vezes faz uns sistemas por fora, acho que deve dar uma boa grana rsrs, outra amiga minha trabalha com cobol, ganha 15k no emprego dela, outro conhecido analista de sistemas, 15k na empresa dele… enfim…[/quote]

Não basta ser apenas bom… Tem que morar em sp e ter muita mas muita sorte mesmo…

Bom eu não sei como esta por ai mas eu moro em brasília e aqui as vagas não são ruins pra quem sabe… E eu trocaria esse “sorte” por correr atras, tenho um amigo que não pode nem ser titulado como junior, hoje mais cedo encontrei com ele por acaso, ele conseguiu um estágio pra ganhar micharia com .net mas la ele fez contatos mostrou serviço e o ex chefe dele agora muito tempo depois o indicou para um cargo comissionado em uma secretaria aqui do df, o cara vai ganhar 2,500 vai ter alguem la pra auxiliar ele e vai estar fazendo o que gosta, claro que isso não acontece todo dia e nem com todo mundo mas ainda não vi ninguém que não correu atras e ralou um pouco ficar a vida toda ganhando micharia.

Um curso superior ajuda e muito também, tem muito concurso ai pra ganhar bem, e só estudar :smiley:

E claro essa e só minha opinião não é uma regra mas prefiro pensar assim pelo menos por enquanto pra me motivar nos estudos kkkk :smiley:

No momento em que um empregado ganhar bem ele provavelmente está sendo surrupiado e seu trabalho valerá bem mais que o que seu soldo.

Estude e aplique conhecimento, trabalhe para encontrar estabilidade e faça o seu trabalho.

Curso Engenharia de Computação e posso dizer com clareza pela experiência dos meus conhecidos formados e professores da universidade, o profissional vale o que sabe e não o diploma que tem currículo é algo muito importate para uma primeira etapa num processo seletivo mas os bons empregos são conquistados por indicação, saiba e faça um bom trabalho assim você conseguirá um melhor.

Tem muito profissional técnico Expert em programação, otimização de BD, …
Tem muito economista mestre em computação como é o caso de um pesquisador de minha universidade
Tem muito Bacharel sem nem mesmo emprego pois não tem qualificação real, “conhecimento”.

Não interessa qual curso escolher interessa o conhecimento que adquirir e não pense que uma faculdade vai lhe dar o conhecimento necessário pois se depender apenas do que lhe ensinam pode acabar passando fome, ao menos que como dito vá para uma universidade de renome e consequentemente bom ensino, o que lhe obriga a ser auto de data novamente.

luistiagos, desde quando assembly não tem mercado, não tem demanda?

luistiagos, desde quando assembly não tem mercado, não tem demanda?[/quote]

A alguns anos atraz ainda tinha… mas hoje em dia é muito difícil.

luistiagos, desde quando assembly não tem mercado, não tem demanda?[/quote]

A alguns anos atraz ainda tinha… mas hoje em dia é muito difícil. [/quote]

Você acha mesmo que porque você não encontra muitas vagas em portais de emprego populares isso quer dizer que não existe demanda de trabalho para quem programa em assembly?

Cara, o mercado de desenvolvimento de software é muito grande, existem muitas empresas e muitas coisas sendo feitas em N linguagens e plataformas. No Brasil e no mundo todo. Acho que você diz isso pois assembly não é o tipo de “liguagem” que você faz um curso e pode simplesmente “ir pro mercado”(como Java, .Net e afins), mas tem trabalho sim.

Esses dias mesmo abri um tópico no grupo de discussão de desenvolvedores Objective-C(https://groups.google.com/forum/?fromgroups#!forum/selfsp) perguntando que tecnologias o pessoal achava que um desenvolvedor iOS deve dominar. O Rodrigo Kumpera(http://www.kumpera.net/blog/) respondeu que depende muito do que você quer fazer, porque a maior parte do dia-a-dia dele com iOS envolve mach e arm assembly e raramente Objective-C. Isso porque ele trabalha para a Xamarin com o Mono Touch(http://xamarin.com/monotouch), uma plataforma cross-plataform onde você escreve codigo C# para Android e iOS.

A Xamarin não é a única empresa que desenvolve este tipo de ferramenta, assim como existem vários outros segmentos que utilizam desenvolvimento assembly em suas ferramentas e produtos.

luistiagos, desde quando assembly não tem mercado, não tem demanda?[/quote]

A alguns anos atraz ainda tinha… mas hoje em dia é muito difícil. [/quote]

Você acha mesmo que porque você não encontra muitas vagas em portais de emprego populares isso quer dizer que não existe demanda de trabalho para quem programa em assembly?

Cara, o mercado de desenvolvimento de software é muito grande, existem muitas empresas e muitas coisas sendo feitas em N linguagens e plataformas. No Brasil e no mundo todo. Acho que você diz isso pois assembly não é o tipo de “liguagem” que você faz um curso e pode simplesmente “ir pro mercado”(como Java, .Net e afins), mas tem trabalho sim.

Esses dias mesmo abri um tópico no grupo de discussão de desenvolvedores Objective-C(https://groups.google.com/forum/?fromgroups#!forum/selfsp) perguntando que tecnologias o pessoal achava que um desenvolvedor iOS deve dominar. O Rodrigo Kumpera(http://www.kumpera.net/blog/) respondeu que depende muito do que você quer fazer, porque a maior parte do dia-a-dia dele com iOS envolve mach e arm assembly e raramente Objective-C. Isso porque ele trabalha para a Xamarin com o Mono Touch(http://xamarin.com/monotouch), uma plataforma cross-plataform onde você escreve codigo C# para Android e iOS.

A Xamarin não é a única empresa que desenvolve este tipo de ferramenta, assim como existem vários outros segmentos que utilizam desenvolvimento assembly em suas ferramentas e produtos.
[/quote]

Não precisa ir muito longe não. Aqui em Santa Rita do Sapucaí tem muito trabalho de assembly. Mas é coisa para engenharia elétrica.

Sendo engenheiro elétrico dai sim. Porem para atuar unicamente como programador assembly é meio difícil hoje em dia…

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

// troll
os bons e velhos DBA’s oracles :smiley:

Assembly/C está na minha lista de coisas para aprender também.

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

O que quis dizer é que quem costuma mexer com isto geralmente mexe não só com programação e sim principalmente com a parte fisica, montar placas, soldar, etc…
Geralmente isto faz parte do trabalho de um engenheiro elétrico… E programar uma placa é foda, quando vc desenvolve um código e ele tem um bug vc vai na linha do bug e arruma. Agora quando vc desenvolve um circuito não tem este privilégio… um mero erro e sua placa já era, alem da montagem do dispositivo vc tem que se estressar com a resistência do material usado e a tensão da corrente (já fritei uns fios por causa disto).

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

O que quis dizer é que quem costuma mexer com isto geralmente mexe não só com programação e sim principalmente com a parte fisica, montar placas, soldar, etc…
Geralmente isto faz parte do trabalho de um engenheiro elétrico… E programar uma placa é foda, quando vc desenvolve um código e ele tem um bug vc vai na linha do bug e arruma. Agora quando vc desenvolve um circuito não tem este privilégio… um mero erro e sua placa já era, alem da montagem do dispositivo vc tem que se estressar com a resistência do material usado e a tensão da corrente (já fritei uns fios por causa disto).[/quote]

Sei que não vem muito ao caso e também não sei como o pessoal ao certo trabalha, mas conhecidos que trabalham na area utilizam softwares que simulam toda a parte de projeto do circuito, ou seja… fica igual debugar um programa mesmo…
O trampo final é praticamente um de/para, de sair do projeto “lógico” e “implementar” no fisico (soldas, placas e afins)… e me falaram que muitas vezes quem acaba fazendo esse trabalho é o técnico e não o engenheiro (como tudo há excessões)…

mas não sei se na pratica é realmente assim!

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

O que quis dizer é que quem costuma mexer com isto geralmente mexe não só com programação e sim principalmente com a parte fisica, montar placas, soldar, etc…
Geralmente isto faz parte do trabalho de um engenheiro elétrico… E programar uma placa é foda, quando vc desenvolve um código e ele tem um bug vc vai na linha do bug e arruma. Agora quando vc desenvolve um circuito não tem este privilégio… um mero erro e sua placa já era, alem da montagem do dispositivo vc tem que se estressar com a resistência do material usado e a tensão da corrente (já fritei uns fios por causa disto).[/quote]

Sei que não vem muito ao caso e também não sei como o pessoal ao certo trabalha, mas conhecidos que trabalham na area utilizam softwares que simulam toda a parte de projeto do circuito, ou seja… fica igual debugar um programa mesmo…
O trampo final é praticamente um de/para, de sair do projeto “lógico” e “implementar” no fisico (soldas, placas e afins)… e me falaram que muitas vezes quem acaba fazendo esse trabalho é o técnico e não o engenheiro (como tudo há excessões)…

mas não sei se na pratica é realmente assim![/quote]

Mas você está totalmente certo. O trabalho do engenheiro é projetar(desenhar no cad, etc…). Normalmente o que acontece aqui em Santa Rita é a maioria dos engenheiros já terem passado pela ETE(Escola Técnica de Eletrônica) e depois estudarem engenharia no INATEL. A ETE é referência em eletrônica na américa latina. Como o pessoal faz ETE, a maioria dos estudantes de engenharia se forma completo(com teoria e muita prática).

voltando para o assembly e campo de atuação:
O que o pessoal ainda não entendeu é que assembly não é ferramenta para ser usada no ramo em que a maioria das pessoas do guj atuam que é o da tecnologia de informação. Assembly não tem utilidade nisso. Mas quando você muda para o campo da engenharia elétrica aí é muito comum. Tem muita gente aqui que faz trabalho independente programando microcontroladores. As empresas daqui também usam bastante, embora também a maioria empregue a linguagem c como padrão.

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

O que quis dizer é que quem costuma mexer com isto geralmente mexe não só com programação e sim principalmente com a parte fisica, montar placas, soldar, etc…
Geralmente isto faz parte do trabalho de um engenheiro elétrico… E programar uma placa é foda, quando vc desenvolve um código e ele tem um bug vc vai na linha do bug e arruma. Agora quando vc desenvolve um circuito não tem este privilégio… um mero erro e sua placa já era, alem da montagem do dispositivo vc tem que se estressar com a resistência do material usado e a tensão da corrente (já fritei uns fios por causa disto).[/quote]

Existem programas como Proteus para protótipo e teste de circuitos de placas, normalmente utilizamos assembly e C na programação de microcontroladores e muitas vezes é relativamente fácil caso o problema seja em tal programação, são utilizadas e desenvolvidas diversas firmwares para tal, alguns nos possibilitam trabalhar até mesmo com atualizações das firmwares que podem ser dadas por vários tipos de barramento de I/O especializados.

Na verdade, são um pouco mais antigas que isso, datam de mais de 3.000 AC.
Os babilônicos usavam para fazer as contas os nós e as pontas de quatro dedos das mãos, enquanto o dedão era usado para apontar em que dedo estavam.

A mão destra contava até 16, enquanto a mão canhota mostrava a parte da “dezena” (quantos 16 já haviam sido contados). Ou seja, as duas mão poderiam contar até 255 itens!

Os egípicios (também em lá vai fumaça antes de cristo), já haviam desenvolvido métodos matemáticos para conversões de bases (também criaram o calendário solar, que foi dado de presente à Julio Cézar, e inaugurou o calendário Juliano - antecessor do calendário gregoriano, que inseriu no Juliano os anos bissextos). Vale lembrar que sempre tivemos outras bases comuns históricas, como a base 60 (minutos) ou a base 7, usada tanto na bíblia quanto na contagem de dias da semana.

Quantos bons programadores hoje em dia trabalham “só” com uma tecnologia/framework/ferramenta?[/quote]

O que quis dizer é que quem costuma mexer com isto geralmente mexe não só com programação e sim principalmente com a parte fisica, montar placas, soldar, etc…
Geralmente isto faz parte do trabalho de um engenheiro elétrico… E programar uma placa é foda, quando vc desenvolve um código e ele tem um bug vc vai na linha do bug e arruma. Agora quando vc desenvolve um circuito não tem este privilégio… um mero erro e sua placa já era, alem da montagem do dispositivo vc tem que se estressar com a resistência do material usado e a tensão da corrente (já fritei uns fios por causa disto).[/quote]

Sei que não vem muito ao caso e também não sei como o pessoal ao certo trabalha, mas conhecidos que trabalham na area utilizam softwares que simulam toda a parte de projeto do circuito, ou seja… fica igual debugar um programa mesmo…
O trampo final é praticamente um de/para, de sair do projeto “lógico” e “implementar” no fisico (soldas, placas e afins)… e me falaram que muitas vezes quem acaba fazendo esse trabalho é o técnico e não o engenheiro (como tudo há excessões)…

mas não sei se na pratica é realmente assim![/quote]

Sim tem alguns bons softwares para isto… um deles é o Proteus nele vc pode construir até um processador, porem o modelo lógico (no software) é bem diferente do fisico… E esta parte “técnica” de pegar o que foi feito no software e passar para o fisico é que o bixo realmente pega, no software é fácil, porem na realidade já não é tão facil como parecia…