Olá, seja bem-vindo de volta.
Nesta palestra, quero discutir alguns dos recursos específicos relacionados à
linguagem de programação c.
Portanto, sabemos todas as vantagens de c.
Falei sobre esse tipo de ad nauseam.
Sabemos que c produz compactos e programas eficientes. No entanto, esse é um recurso
de linguagem importante.
É um dos mais importantes linguagens de programação e continuará
a sê-lo. Nós sabemos tudo isso.
Então, eu só quero reiterar.
Mas as principais características do linguagem c é
que eles são eficientes, portáteis, poderosos e flexível e orientado para o programador.
E vamos cobrir estes em mais detalhes o que isso significa.
Mas estes são importantes características de c.
Precisamos entendê-los novamente, para entender como escrever
o código nesta linguagem.
Então, o que significa eficiência e portabilidade significa?
Bem, c é uma linguagem eficiente.
Ele tira proveito de todos os capacidades dos computadores atuais.
É muito compacto programas e escritos em c.
Eles são muito rápidos e compactos.
Falei anteriormente sobre como o mapeamento de c instruções para instruções em algum idioma
é muito eficiente.
Este é um dos razões pelas quais é tão rápido.
Uma das reclamações sobre java costumava ser, hey, java
é muito lento.
Bem, você não tem esse problema com c.
Quando você escreve um programa em C, é rápido, é muito compacto.
Então, esse é um recurso de linguagem.
Isso é uma eficiência.
Os programadores podem ajustar seus programas para torná-los
ainda mais eficientes porque é um nível tão baixo.
Eles podem usar mais uso eficiente da memória.
Você não pode fazer coisas assim em java.
Java tem seu próprio coletor de lixo e você não pode manipular a
memória para ser mais eficiente.
Então c é uma linguagem eficiente e é uma linguagem portátil.
Então eu toquei nisso brevemente em uma palestra anterior, mas isso é importante
porque o que isso significa que se você escrever um
programa c em um sistema operacional, você pode executá-lo em outro sistema
operacional sem modificá-lo.
Um dos problemas ao escrever código no mundo de hoje às vezes
não vai funcionar, a menos você escreve em vários
idiomas ou o modifica extensivamente.
Por exemplo, se você escrever um aplicativo Android para um telefone Android, não
é vai funcionar em um telefone iOS.
Você não tem aqueles tipos de problemas com c.
Você escreve c, e vai funcionar em todos os tipos de hardware diferente, todos os
tipos de sistemas operacionais diferentes.
Na verdade, c é o líder em portabilidade, esta capacidade e os
compiladores estão facilmente disponíveis.
Você pode obter um compilador em Windows, Linux, sem problemas.
Os sistemas Linux / Unix normalmente vêm com um compilador c, então você nem precisa fazer o
download quando estiver Linux / Unix o mesmo com o Macintosh.
Então você pode começar a escrever programas c imediatamente, nenhum download externo.
Eles também estão disponíveis obviamente para Windows.
Mas normalmente para Windows, você terá que baixar um compilador.
E vamos fazer isso quando baixamos nosso software necessário.
Portanto, há uma boa chance de que você obtém um compilador c para qualquer
dispositivo que estiver usando.
Você pode obter um compilador C também para um
dispositivo Android ou um dispositivo iOS, micro de nível realmente baixo ou minicomputadores, bem como processadores
e automóveis.
Também é muito flexível, o que é importante e também muito poderoso.
Portanto, os kernels do Unix Linux são escritos em c.
O que é um kernel?
Bem, nós conhecemos Unix e Linux é um sistema operacional.
Nós conhecemos um sistema operacional irá ajudá-lo com mais eficiência - um
usuário com mais eficiência - usar um computador, e controla muitos dos aspectos
da interação com hardware e assim por diante.
O kernel é o cérebro do sistema operacional.
Assim como uma CPU é o cérebro de um computador, um kernel
é onde realmente todo o cérebro e conhecimento do sistema operacional ir, então ele normalmente
contém interfaces de hardware e o kernel gerencia a memória, faz todo
tipo de coisas diferentes.
E tudo isso está escrito em C.
Então isso pode te dizer o aspecto poderoso da linguagem.
Se o kernel de um funcionamento sistema é escrito nessa linguagem,
essa linguagem é poderosa.
Muitos compiladores e interpretadores pois outras linguagens são construídas
em c ou foram escritas em c.
Então, se isso não te diz a natureza poderosa da linguagem,
não sei o que será.
Mas Fortran, Perl, Python, qualquer compiladores que são escritos nesses tipos de
linguagens são escritos em c.
Assim, programas c têm sido usados para resolvendo problemas de física
e engenharia e até mesmo para animar efeitos especiais para filmes, amplamente usados para
muitas coisas diferentes.
A flexibilidade também é importante, especialmente quando você é um desenvolvedor e
está escrevendo este código.
Você quer ser capaz de fazer coisas de maneiras diferentes.
Você quer ser capaz de resolver um problema de várias maneiras.
Mais flexibilidade, normalmente, melhor.
No entanto, há uma compensação entre flexibilidade e desempenho.
Então, às vezes é - é cativante quando você está projetando uma linguagem, mas c
foi projetado para ser flexível e é muito flexível.
Então você pode fazer quase tudo o que você deseja em um programa c.
Você pode escrever tudo diferente tipos de aplicativos.
E você também pode gerenciar a memória e fazer coisas diferentes que muitas
outras línguas restringem você.
Há uma compensação porque às vezes a flexibilidade causa mais
bugs ou faz com que os desenvolvedores não para entender completamente certos conceitos porque eles
podem ser mais complexos.
Mas, em última análise, a flexibilidade é um coisa boa,
especialmente se você é um desenvolvedor que entende a linguagem muito bem.
É também a base para mais linguagens avançadas,
como c ++, mencionaram isso anteriormente.
É usado para desenvolver telefones celulares aplicativos na forma de objetivo-c.
Objective-c é um proprietário linguagem da Apple.
Basicamente, é c com objetos assim como c ++, mas eles decidiram escrever
sua própria linguagem.
Mas é menos usado no iOS e menos porque o Swift está sendo mais
popular, mas também é fácil aprender por causa de sua compactação.
É uma primeira língua ideal para aprenda se você quer ser um programador.
E eu acho que dei a razão para isso muito bom.
Você vai adquirir conhecimento suficiente
para o desenvolvimento de aplicações práticas muito rápida e facilmente.
Então é por isso que é o bom primeiro a aprender.
E é isso que você vai observe nesta
aula é, uau agora que aprendi c uau, é muito mais fácil para
aprender java, é muito mais fácil aprender php, é muito mais fácil aprender essas outras
línguas porque tem tudo que essas línguas tem e é muito fácil de aprender.
É orientado para o programador.
Esse é um recurso de linguagem.
Ele atende às necessidades dos programadores.
Eu te disse como Dennis Ritchie quando ele criou
a linguagem queria torná-la mais desenvolvedor focado, e ele fez isso.
Ele cumpriu esse objetivo.
Dá a você acesso direto a hardware, permite que você direcione o acesso à
memória e gerencie sua própria memória.
Então, a flexibilidade vem em jogo quando é orientado
para o programador.
Em java, você não pode fazer muitos desses coisas como gerenciar sua própria memória.
C também tem muitos outros recursos que permitem flexibilidade.
E acho que essa flexibilidade permite para ser mais orientado para o programador, porque os
programadores gostam disso.
Eles gostam dessa flexibilidade, eles não quero que lhe digam o que fazer.
Ele contém uma grande seleção de operadores, o que permite
que você se expresse de forma sucinta.
Agora, isso significa que não sabemos o que uma operadora ainda é.
Mas um operador pode ser coisas como adicionar
e subtrair operadores matemáticos ou atribuição operadores atribuindo dados à memória.
E quanto mais operadores você permitem que você se expresse mais
em seu código.
E assim, um recurso de linguagem com sendo mais orientado para o programador é esta lista de
operadores que iremos falar sobre com muito mais detalhes.
É menos estrito do que a maioria das línguas limitar o que você pode
fazer meio que já falamos sobre isso.
Eu mencionei a troca com isso, flexibilidade versus rigidez.
É uma vantagem porque você pode fazer as coisas de muitas maneiras diferentes.
No entanto, pode ser um perigo porque é mais
sujeito a erros de programadores, especialmente com algo como ponteiros.
Portanto, o fato de você poder gerenciar seu A própria memória em c é muito flexível, mas
às vezes também é muito complicada.
E, como resultado, muitos programadores introduzir bugs nos programas.
Agora o java não permite você para gerenciar sua memória.
Mas também é menos flexível mas também reduz seus bugs em
seu programa.
Portanto, há uma compensação.
Você quer basicamente ter flexibilidade, permitindo também que as coisas
sejam menos complexas.
C dá mais liberdade, mas também coloca mais responsabilidade sobre o desenvolvedor,
e isso é porque é orientado para o programa.
Implementações C têm um grande biblioteca de funções c úteis.
Então você não tem que escrever tudo em c se você quiser fazer algo.
Linguagens de programação normalmente contém outras funcionalidades do programa que vêm
com o idioma.
Então, por exemplo, se você quiser ler entrada do usuário, você não quer escrever
código c de baixo nível para fazer isso.
Haverá códigos em c que já faz isso por você e
você apenas reutiliza esse código.
E isso geralmente é encapsulado em algo chamado biblioteca.
E então c tem todos os tipos de biblioteca
funções para ler dados do teclado, para gravar dados em arquivos, para criar todos os tipos de coisas legais com diferentes
processos e ameaças.
Quero dizer todos os tipos de coisas boas.
Então, o fato de que muito implementação vem com a linguagem
e você não precisa na verdade, implemente você mesmo, você só precisa aprender
a usar as bibliotecas são muito vantajosas e muito orientadas
para o programador.
Alguns outros recursos de c são fornece recursos de baixo nível que geralmente
são fornecidos pelo nível inferior línguas, nós conversamos sobre isso.
Mas, novamente, o melhor exemplo é a memória gerenciamento, acesso direto à memória.
Os programas podem ser manipulado usando bits.
Bem, se isso não é um nível baixo Eu não sei o que é. É a capacidade de gerenciar
a memória representação em um nível de bit.
Bits e bytes são como nós realmente armazenam dados em computadores, oferece uma
grande variedade de operadores de manipulação de bits.
Novamente, algo na linguagem sobre o qual falaremos com mais detalhes.
Os ponteiros desempenham um grande papel em c.
Este é um conceito que você pode já ouviu falar antes,
pode não ter ouvido falar, mas é relacionados ao gerenciamento de memória.
Vamos ter muitos palestras sobre ponteiros. Mas é um recurso muito,
muito importante de c que você deve estar familiarizado
no nível mais alto.
C gerenciar memória, c ponteiros. Muitas vezes, quando você pensa na
linguagem de programação C, primeiro coisa que você pensa é em ponteiros.
E tudo isso é direto acesso à memória.
Desvantagens de c, conversamos sobre essa troca de flexibilidade, flexibilidade
versus liberdade.
Também requer responsabilidade adicional.
Alguns veem isso como uma desvantagem, alguns acham que os ponteiros são abusados.
E, como resultado, muitos as pessoas escrevem programas c ruins.
Bem, sim, se você der a alguém uma ferramenta que você faz alguma coisa, eles
fazem de forma incorreta, de quem é a culpa?
É meio que, de novo, você quer para restringir essa
ferramenta porque é abusada ou você deseja permitir essa ferramenta para permitir flexibilidade.
Então, muitas vezes você pode ser mais flexível, mas corre o risco de cometer mais erros
e muitas vezes esses erros são muito difíceis de encontrar e rastrear, especialmente
se forem coisas de memória.
Então isso pode ser um problema.
Outras coisas por causa de sua riqueza de operadores e sua concisão,
torna a linguagem difícil ler e seguir às vezes.
Na maior parte, c é muito facilmente legível.
Mas se você usar muitos desses diferentes operadores, o que pode
torná-lo mais complexo.
Portanto, há uma oportunidade de escrever código obscuro, mas isso é
qualquer linguagem que pode ser mal escrita.
Então você pode usar o inglês linguagem quando você fala e
você pode ter gramática ruim.
Não é diferente quando você escreve - usar uma linguagem de programação.
Mas alguns dizem que com c é uma desvantagem por causa de todos esses operadores.
Se você usá-lo incorretamente, pode ser mais difícil seguir o código.
Então, apenas para resumir.
Esta é uma bela ilustração Mais uma vez, encontrei
na web que gostaria de lhe fornecer.
Os principais recursos da linguagem c: rápido e eficiente, portátil, muitas bibliotecas legais onde você pode reutilizar o
código e você não tem que fazer as coisas
por conta própria, modularidade,
falado antes, mas esta é a ideia de organizar o
código em torno de funções,
fácil de estender e, em seguida, tudo esses operadores poderosos que permitem que
você faça coisas.
Então, muitos recursos interessantes.
E a maioria dos recursos que que acabamos de falar estão em muitas
línguas modernas porque eles são construídos a partir de c.