Logo Hardware.com.br
André0991
André0991 Geek Registrado
2.2K Mensagens 79 Curtidas

O que todo formado em Ciência da Computação deve saber

#1 Por André0991 09/03/2014 - 01:20
http://matt.might.net/articles/what-cs-majors-should-know/

Muito bom essa espécie de guia. Mostra bem as principais áreas e exemplos do que cada um precisa saber para dominá-las, além de apresentar boas referências.

Até.
foca
foca Highlander Registrado
12.2K Mensagens 1.1K Curtidas
#2 Por foca
09/03/2014 - 07:18
Não dá nem para começar a levar a sério isso dai.

Olha essas pérolas.
Operating systems

Any sufficiently large program eventually becomes an operating system.


Specific recommendations

A computer scientist that can set up and operate a LAMP stack is one good idea and a lot of hard work away from running their own company.


Fora as pérolas de a pessoa não conhecer Windows e achar que só o Linux tem shell.
Dizer que se deve estudar várias linguagens de programação e por ai vai.
8x AMD-Sony JAGUAR 1.6GHz| 8GB@2.7GHz GDDR5| 18x RADEON@800MHz| Sony BD| Gaikai Cloud
STI Cell 3.2GHz| 256MB@3.2GHz RAMBUS| Nvidia RSX@500MHz| 256MB VGA RAM| Sony BD
Sony EE 295MHZ 128 bits|Sony GS 148MHZ|32MB RDRAM| Sony DVD
http://brunofoca.blog.uol.com.br
12 anos de GDH - Ñ tiro dúvida por MP
André0991
André0991 Geek Registrado
2.2K Mensagens 79 Curtidas
#3 Por André0991
09/03/2014 - 13:32
foca disse:
Não dá nem para começar a levar a sério isso dai.

Olha essas pérolas.
Operating systems

Any sufficiently large program eventually becomes an operating system.

Specific recommendations

A computer scientist that can set up and operate a LAMP stack is one good idea and a lot of hard work away from running their own company.


OK, essas frases estão meio sem sentido, mas descartar um texto inteiro por causa de duas afirmações também não me parece muito sensato.





Fora as pérolas de a pessoa não conhecer Windows e achar que só o Linux tem shell.


Isso você que está inventando... mas indicar, num primeiro momento, que a pessoa conheça o shell do Windows em vez do de algum Unix ou derivado é algo que nunca vi também, por razões óbvias.


Dizer que se deve estudar várias linguagens de programação e por ai vai.


While it is important to teach languages relevant to employers, it is equally important that students learn how to teach themselves new languages.
The best way to learn how to learn progamming languages is to learn multiple programming languages and programming paradigms.


Não vejo problema algum com essas afirmações.
Um cientista da computação deve conhecer vários paradigmas de programação? Sim. Para conhecer vários paradigmas, é necessário conhecer, mesmo que superficialmente, várias linguagens? Sim. Conhecer várias linguagens ajuda a aprender linguagens novas? Sim novamente.
Sem contar que qualquer um vai aprender no mínimo C num curso de computação, mais uma linguagem de alto nível e mais uma linguagem de um paradigma não muito usado, por exemplo. Só isso já resulta em 3 linguagens, ué (repito: não necessariamente ele diz que é necessário saber tudo sobre a linguagem).


Até.
foca
foca Highlander Registrado
12.2K Mensagens 1.1K Curtidas
#4 Por foca
09/03/2014 - 14:05
André0991 disse:

Isso você que está inventando... mas indicar, num primeiro momento, que a pessoa conheça o shell do Windows em vez do de algum Unix ou derivado é algo que nunca vi também, por razões óbvias.

Ele fala que a pessoa tem que aprender realizar algumas tarefas que só conseguiria no Unix por causa do Shell, ele viajou pois tudo que ele falou lá dá para fazer via Windows via Shell, ou seja ele não conhece a fundo para poder afirmar se dá ou não para fazer.
Outra coisa desenvolver um sistema operacional e usar o Linux como material de ensino?


Não vejo problema algum com essas afirmações.
Um cientista da computação deve conhecer vários paradigmas de programação? Sim. Para conhecer vários paradigmas, é necessário conhecer, mesmo que superficialmente, várias linguagens? Sim. Conhecer várias linguagens ajuda a aprender linguagens novas? Sim novamente.
Sem contar que qualquer um vai aprender no mínimo C num curso de computação, mais uma linguagem de alto nível e mais uma linguagem de um paradigma não muito usado, por exemplo. Só isso já resulta em 3 linguagens, ué (repito: não necessariamente ele diz que é necessário saber tudo sobre a linguagem).
Hoje em qualquer faculdade se aprende C++, Java, uma linguagem Web e SQL.
Isso é tudo que se precisa na verdade.
Não adianta eu te passar uma lista de 30 linguagens com paradigmas diferentes que ninguém usa, tirando alguns cursos de engenharia nenhuma faculdade ensina Assembly mais pois comercialmente é pouco usado.

Outra coisa é um cientista da computação não vai ser necessariamente um desenvolvedor e então o conhecimento de linguagem de programação pode ser completamente inútil para alguém trabalhando como DBA, ou SysOp, ou SysAdmin.


Lembre-se André ele está dizendo que aquela lista todo mundo que se forma em CC tem que saber o que não é nem de longe a verdade, por isso minha crítica.
Exemplo Portifolio vs Currículo.

Ok, mas eu quero trabalhar como administrador de redes, como monto um portfólio disso?
Filosofia unix.
Ué e se eu quero trabalhar com Microsoft?
Ou mesmo se eu quiser trabalhar com AIX?
Administração de sistema e passa coisas de Linux, sendo que 70% do mercado de servidores é dominado pelo Windows.
  • Install and administer a Linux distribution.
  • Configure and compile the Linux kernel.
  • Troubleshoot a connection with dig, ping and traceroute.
  • Compile and configure a web server like apache.
  • Compile and configure a DNS daemon like bind.
  • Maintain a web site with a text editor.
  • Cut and crimp a network cable.
Minha irmã de um ano consegue fazer tudo isso hoje em dia.
8x AMD-Sony JAGUAR 1.6GHz| 8GB@2.7GHz GDDR5| 18x RADEON@800MHz| Sony BD| Gaikai Cloud
STI Cell 3.2GHz| 256MB@3.2GHz RAMBUS| Nvidia RSX@500MHz| 256MB VGA RAM| Sony BD
Sony EE 295MHZ 128 bits|Sony GS 148MHZ|32MB RDRAM| Sony DVD
http://brunofoca.blog.uol.com.br
12 anos de GDH - Ñ tiro dúvida por MP
André0991
André0991 Geek Registrado
2.2K Mensagens 79 Curtidas
#5 Por André0991
09/03/2014 - 14:25
Acho que a questão não é o que as empresas usam, Foca, mas sim o sistema mais adequado para o aprendizado, o mais didático, que vc pode fuçar mais.

Por exemplo, compilar o kernel é algo que, até onde eu saiba, você não consegue fazer com o Windows (talvez a MS até disponibilize algo assim pra casos super específicos, não faço ideia, mas a questão é que compilar o Kernel no Linux é algo que vc pode fuçar o quanto quiser, já com as coisas da MS, muito menos).

OK, várias coisas que ele citou na administração de redes podem ser igualmente feitas pelos dois SOs sem grandes diferenças, então acho que o cara poderia ter explicado melhor porque a tendência de adotar apenas coisas Unix-like (talvez seja pelo fato de ser mais transparente, como eu já falei, e portanto mais didático, mas realmente não foi mto bom considerar isso como um "must").

Outra coisa é um cientista da computação não vai ser necessariamente um desenvolvedor e então o conhecimento de linguagem de programação pode ser completamente inútil para alguém trabalhando como DBA, ou SysOp, ou SysAdmin.

Bom, aí é outra história. Independentemente de qual área as pessoas forem, o mais provável é que não usem diretamente a maioria das coisas que aprenderam.

Exemplo Portifolio vs Currículo.

Ok, mas eu quero trabalhar como administrador de redes, como monto um portfólio disso?

Verdade, ele pesou muito pro lado da programação, mas como grande parte dos usuários do fórum e estudantes de CC tem interesse nisso, acho que vale a pena postar. Mas sim, se for analisar com cuidado, é um pouco dogmático o que ele falou, como se considerasse o caminho dele o padrão de todo mundo.
foca
foca Highlander Registrado
12.2K Mensagens 1.1K Curtidas
#6 Por foca
09/03/2014 - 14:39
Por isso eu disse o problema foi generalizar.
Por exemplo minha carreira acadêmica inteira foi focada em banco de dados e desenvolvimento.
Minha carreira profissional por outro lado é totalmente em infra.
8x AMD-Sony JAGUAR 1.6GHz| 8GB@2.7GHz GDDR5| 18x RADEON@800MHz| Sony BD| Gaikai Cloud
STI Cell 3.2GHz| 256MB@3.2GHz RAMBUS| Nvidia RSX@500MHz| 256MB VGA RAM| Sony BD
Sony EE 295MHZ 128 bits|Sony GS 148MHZ|32MB RDRAM| Sony DVD
http://brunofoca.blog.uol.com.br
12 anos de GDH - Ñ tiro dúvida por MP
foca
foca Highlander Registrado
12.2K Mensagens 1.1K Curtidas
#9 Por foca
09/03/2014 - 19:14
Alucard_RJ disse:
Caramba 70%?!

Não dizem que servidores Linux são muito mais eficientes e seguros?

Servidores Web o Linux domina.
Mas o Windows domina todo o resto.
É uma questão simples a maioria das empresas tem desktops Windows e os administra via Ad que é uma tecnologia Microsoft.
8x AMD-Sony JAGUAR 1.6GHz| 8GB@2.7GHz GDDR5| 18x RADEON@800MHz| Sony BD| Gaikai Cloud
STI Cell 3.2GHz| 256MB@3.2GHz RAMBUS| Nvidia RSX@500MHz| 256MB VGA RAM| Sony BD
Sony EE 295MHZ 128 bits|Sony GS 148MHZ|32MB RDRAM| Sony DVD
http://brunofoca.blog.uol.com.br
12 anos de GDH - Ñ tiro dúvida por MP
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal