Executando verificação de segurança...
2

Cara, se você quiser aprender de verdade sobre Ciência da Computação, não vai ser uma linguagem de programação que vai te ensinar. Dennis Ritchie não aprendeu Ciência da Computação programando em C... Como poderia? Foi ele quem fez a linguagem.

Tem uma coisa que a maioria gosta de repetir e desconfie muito de quem diz isso, que é aquele papo furado de que pra ser programador de verdade você tem que aprender C — ou variantes semelhantes.

Essa crença morre já pelo fato de que muita galera foda de CC surgiu antes da linguagem. Na verdade, as pessoas mais fodas de CC surgiram antes de C existir, como: Alan Turing, Babbage, Dijkstra e Von Neumann.

Sabe o que essas pessoas têm em comum? Não, eles não programavam em C, Rust nem assembly. Eram todos matemáticos.

Eu não vou discorrer mais sobre o assunto pelo motivo mais banal possível: Preguiça. Mas creio que você consiga deduzir onde eu quero chegar.

TL;DR

O fato é que se você quer aprender CC "pra valer", você não vai aprender isso programando em linguagem nenhuma (nem mesmo em assembly).

Carregando publicação patrocinada...
1

A ideia é usar C como minha ferramenta para aprender ciência da computação. Eu tenho em mente que matemática é a chave para realmente entender as coisas. E eu concordo com você, não é uma linguagem que te ensina nada. São ferramentas.

Isso me lembra que houve uma mulher que era considerada uma das maiores cientistas de computadores quando nem havia computadores... infelizmente esqueci o nome dessa lenda.

1
1

Meus 2 cents,

Apesar de concordar que matematica eh um ramo importante na formacao para um DEV, existem diversos exemplos bem sucedidos na area de Computacao/TI de pessoas que tem graduacao em outras areas (segue a lista no final).

Meu ponto eh: o que todos tem em comum eh uma curiosidade infernal e uma dedicacao visceral em aprender - isso nao pode faltar, voce tem de ser auto-motivado, se depender de estimulos externos para se dedicar a algo, fudeu.


Estrangeiros

Richard Stallman – Física – Harvard University
Criador do movimento GNU e ativista do software livre.

Linus Torvalds – Ciência da Computação – University of Helsinki
Criador do kernel do Linux.

Bjarne Stroustrup – Ciência da Computação – University of Aarhus, PhD em Cambridge
Criador da linguagem C++.

James Gosling – Ciência da Computação – University of Calgary, PhD em Carnegie Mellon
Criador da linguagem Java.

Yukihiro Matsumoto (Matz) – Ciência da Computação – University of Tsukuba
Criador da linguagem Ruby.

Anders Hejlsberg – Engenharia Elétrica (incompleta) – Denmark Technical University
Criador do Turbo Pascal, Delphi e C#.

Tim Berners-Lee – Física – University of Oxford
Criador da World Wide Web.

Mark Zuckerberg – Ciência da Computação e Psicologia (não concluiu) – Harvard University
Co-fundador do Facebook.

Bill Gates – Ciência da Computação (não concluiu) – Harvard University
Co-fundador da Microsoft.

Paul Allen – Ciência da Computação (abandonou) – Washington State University
Co-fundador da Microsoft.

Steve Wozniak – Engenharia Elétrica e Ciência da Computação – University of California, Berkeley
Co-fundador da Apple.

Steve Jobs – Filosofia (não concluiu) – Reed College
Co-fundador da Apple.

John Carmack – Engenharia (não concluiu) – University of Missouri–Kansas City
Criador de Doom e Quake, pioneiro em engines 3D.

Rasmus Lerdorf – Engenharia de Sistemas – University of Waterloo
Criador da linguagem PHP.

Larry Wall – Ciência da Computação e Linguística – Seattle Pacific University
Criador da linguagem Perl.

Niklaus Wirth – Engenharia Elétrica – ETH Zurich, PhD em UC Berkeley
Criador de Pascal, Modula e Oberon.

Martin Fowler – Ciência da Computação – University of Sheffield
Autor e especialista em arquitetura de software e design ágil.

Grady Booch – Engenharia Elétrica – Air Force Academy, mestrado na University of California
Criador da UML e pioneiro em engenharia de software orientada a objetos.

Kent Beck – Ciência da Computação – University of Oregon
Criador do Extreme Programming (XP), influente na metodologia ágil.

Jeff Dean – Ciência da Computação – University of Minnesota, PhD em University of Washington
Engenheiro sênior do Google, co-criador do MapReduce, TensorFlow.

Rob Pike – Engenharia de Software – University of Toronto
Co-criador da linguagem Go, participou do UNIX.

Robert Griesemer – Ciência da Computação – ETH Zurich
Co-criador da linguagem Go.

Chris Lattner – Ciência da Computação – University of Portland, PhD em University of Illinois
Criador do LLVM e da linguagem Swift.

Douglas Crockford – Rádio e Televisão (B.A.) – San Francisco State University
Popularizador do JSON e autor do JavaScript: The Good Parts.


Brasileiros

Augusto Galego Ciência da Computação – não confirmado publicamente

Renato Augusto Análise e Desenvolvimento de Sistemas

Filipe Deschamps Engenharia de Computação – não finalizou;

Alexandre Oliva (cabelo) Ciência da Computação – UNICAMP Membro da FSF, mantenedor do GNU Linux-libre

Fábio Akita Administração – FGV Divulgador Ruby on Rails, criador do canal "Akitando"

Carlos Morimoto Ciência da Computação – UFPR Criador do Kurumin Linux, autor de livros sobre Linux

Gustavo Niemeyer Ciência da Computação – UNESP Desenvolvedor do Ubuntu, criador do Snap e Juju

Henrique Bastos Engenharia da Computação – UERJ Instrutor Python, criador do curso Python Pro

Paulo Silveira Ciência da Computação – USP Fundador da Alura e da Caelum

Felipe Daragon Ciência da Computação – UFU Criador do OSSEC (ferramenta de segurança open-source)

Marcelo Tosatti Física (não completou) – USP Mantenedor do kernel Linux para KVM

Bruno Souza (JavaMan) Ciência da Computação – PUC-SP Evangelista Java, fundador do SouJava

-2

Apesar de concordar que matematica eh um ramo importante na formacao para um DEV, existem diversos exemplos bem sucedidos na area de Computacao/TI de pessoas que tem graduacao em outras areas (segue a lista no final).

  1. O ponto não é se graduar em matemática. O ponto é que Ciência da Computação é matemática.
  2. Aprender a programar e aprender CC não é a mesma coisa. Que também é muito diferente de aprender engenharia de software. Que também é muito diferente de aprender a se vender e crescer na área. Que também é muito diferente de aprender a empreender.

Você falou como se ter sucesso na área fosse um indicativo de que a pessoa aprendeu CC, isso não faz sentido. 99% da galera que trabalha com TI (e que tiveram sucesso) não manjam de CC.