Bonjour et bienvenue à nouveau.
Dans cette conférence, je veux discuter certaines des fonctionnalités spécifiques liées
au langage de programmation c.
Nous connaissons donc tous les avantages de c.
J'ai parlé de ce genre d'ad nauseam.
On sait que c produit des compacts et programmes efficaces. C'est une caractéristique de langue
cependant, c'est important.
C'est l'un des plus importants langages de programmation et continuera
de l'être. Nous savons tout cela.
Donc, je veux juste le répéter.
Mais les principales caractéristiques du c
sont qu'ils sont efficaces, portables, puissants et flexible et orienté programmeur.
Et nous allons couvrir ces plus en détail ce que cela signifie.
Mais ceux-ci sont importants caractéristiques de c.
Nous devons les comprendre à nouveau, afin de comprendre comment
écrire le code dans ce langage.
Alors qu'est-ce que l'efficacité et la portabilité signifie?
Bon, c est un langage efficace.
Il profite de tous les capacités des ordinateurs actuels.
C'est très compact programmes et écrit en c.
Ils sont très rapides et compacts.
J'ai parlé plus tôt de la façon dont la cartographie des instructions c aux instructions dans certaines
langues est très efficace.
C'est l'un des raisons pour lesquelles c'est si rapide.
L'une des plaintes concernant java dans le passé était, hé,
java est vraiment lent.
Eh bien, vous n'avez pas ce problème avec c.
Lorsque vous écrivez un programme dans C, ça tourne vite, c'est très compact.
C'est donc une caractéristique de la langue.
C'est une efficacité.
Les programmeurs peuvent affiner leurs programmes pour les
rendre encore plus efficaces car c'est un niveau si bas.
Ils peuvent utiliser plus utilisation efficace de la mémoire.
Vous ne pouvez pas faire des choses comme ça en java.
Java a son propre garbage collector et vous ne pouvez pas manipuler la
mémoire pour être plus efficace.
Donc c est un langage efficace et c'est un langage portable.
Alors j'ai abordé ce sujet brièvement dans une conférence précédente, mais c'est important car
ce que signifie que si vous écrivez un programme c
sur un système d'exploitation, vous peut l'exécuter sur un autre système d'exploitation
sans le modifier.
Un des problèmes lors de l'écriture le code dans le monde d'aujourd'hui ne fonctionnera
pas toujours à moins vous écrivez dans plusieurs langues ou
vous le modifiez en profondeur.
Par exemple, si vous écrivez une application Android pour un téléphone Android, ce n'est
pas va travailler sur un téléphone iOS.
Tu n'as pas ça types de problèmes avec c.
Vous écrivez c, et cela fonctionnera sur toutes sortes de matériels différents, toutes
sortes de systèmes d'exploitation différents.
En fait, c est le leader en la portabilité, cette capacité et les
compilateurs sont facilement disponibles.
Vous pouvez obtenir un compilateur sur Windows, Linux, pas de problème.
Les systèmes Linux / Unix viennent généralement avec un compilateur c, donc vous n'avez même pas besoin de le
télécharger lorsque vous êtes sur Linux / Unix même chose avec le Macintosh.
Ainsi, vous pouvez commencer à écrire des programmes c immédiatement, pas de téléchargements externes.
Ils sont également disponibles évidemment pour Windows.
Mais généralement pour Windows, vous devra télécharger un compilateur.
Et nous allons faire ça quand nous téléchargeons notre logiciel requis.
Il y a donc de bonnes chances que vous obtenez un compilateur c pour tout
périphérique que vous utilisez.
Vous pouvez également obtenir un compilateur c pour un
appareil Android ou un appareil iOS, micro de très bas niveau ou des mini-ordinateurs ainsi que des processeurs
et des automobiles.
Il est également très flexible, ce qui est important, et c'est aussi très puissant.
Ainsi, les noyaux Linux Unix sont écrits en c.
Qu'est-ce qu'un noyau?
Eh bien, nous connaissons Unix et Linux est un système d'exploitation.
Nous connaissons un système d'exploitation vous aidera plus efficacement - un utilisateur
plus efficacement - utiliser un ordinateur, et il contrôle de nombreux aspects de
l'interaction avec du matériel et ainsi de suite.
Le noyau est le cerveau du système d'exploitation.
Donc, tout comme un processeur est le cerveau d'un ordinateur, un noyau est
l'endroit où vraiment tout le cerveau et la connaissance du système d'exploitation aller, il contient donc généralement
des interfaces avec le matériel et le noyau, il gère la mémoire, il fait
toutes sortes de choses différentes.
Et tout cela est écrit en C.
Alors cela peut vous dire le aspect puissant de la langue.
Si le noyau d'un fonctionnement système est écrit dans cette langue,
cette langue est puissante.
Tant de compilateurs et d'interprètes pour d'autres langages sont construits
sur c ou ont été écrits en c.
Alors si ça ne te dit pas la nature puissante de la langue, je
ne sais pas ce qui va.
Mais Fortran, Perl, Python, tout les compilateurs écrits dans ces types de
langages sont écrits en c.
Donc, les programmes c ont été utilisés pour résoudre des problèmes
de physique et d'ingénierie et même pour animer effets spéciaux pour les films, largement utilisés pour
de nombreuses choses différentes.
La flexibilité est également importante, surtout lorsque vous êtes développeur et que
vous écrivez ce code.
Tu veux pouvoir faire les choses de différentes manières.
Vous voulez pouvoir résoudre un problème à bien des égards.
Plus de flexibilité est généralement le mieux.
Cependant, il y a un compromis entre flexibilité et performance.
Alors parfois c'est - c'est accrocheur lorsque vous concevez un langage, mais c a
été conçu pour être flexible et est très flexible.
Donc tu peux faire à peu près tout ce que vous voulez dans un programme c.
Vous pouvez écrire tous différents types d'applications.
Et vous pouvez également gérer la mémoire et faites différentes choses que de nombreuses
autres langues vous restreignent.
Il y a un compromis parce que Parfois, la flexibilité
provoque plus de bogues ou empêche les développeurs pour bien comprendre certains concepts car ils
peuvent être plus complexes.
Mais en fin de compte, la flexibilité est un bonne chose,
surtout si vous êtes un développeur qui comprend la langue très bien.
C'est aussi la base pour plus les langages avancés, tels
que c ++, l'ont mentionné plus tôt.
Il est utilisé pour développer un téléphone mobile applications sous la forme d'objectif-c.
Objective-c est un propriétaire langue par Apple.
En gros, c'est c avec des objets comme c ++, mais ils ont décidé
d'écrire leur propre langage.
Mais il est moins utilisé dans iOS et moins parce que Swift est plus populaire,
mais il est également facile de apprendre en raison de sa compacité.
C'est une première langue idéale pour apprenez si vous voulez devenir programmeur.
Et je pense avoir donné le justification de cela assez bonne.
Vous allez acquérir connaissances suffisantes
pour le développement d'applications pratiques très rapidement et très facilement.
C'est pourquoi c'est le bon premier à apprendre.
Et c'est ce que tu vas faire remarquez dans
ce cours, wow maintenant que j'ai appris c wow, c'est beaucoup plus facile pour
apprendre java, c'est beaucoup plus facile d'apprendre php, c'est beaucoup plus facile d'apprendre ces autres langues
car il a tout ce que ces langues ont et c'est très facile à apprendre.
Il est orienté programmeur.
C'est une caractéristique de la langue.
Il répond aux besoins des programmeurs.
Je t'ai dit comment Dennis Ritchie quand il a créé
le langage voulait le rendre plus développeur concentré, et il l'a fait.
Il a atteint cet objectif.
Il vous donne un accès direct à matériel, vous permet d'accéder directement à la mémoire
et de gérer votre propre mémoire.
Alors la flexibilité vient en jeu quand c'est quand
il est orienté programmeur.
En java, vous ne pouvez pas faire beaucoup de ces des choses comme gérer votre propre mémoire.
C a également de nombreuses autres fonctionnalités qui permettent la flexibilité.
Et je pense que la flexibilité permet être plus orienté programmeur, parce que les programmeurs
aiment ça.
Ils aiment cette flexibilité, ils Je ne veux pas qu'on vous dise quoi faire.
Il contient une large sélection d'opérateurs, qui vous
permettent de vous exprimer succinctement.
Maintenant cela signifie que nous ne savons pas ce qu’est encore un opérateur.
Mais un opérateur peut être des choses comme l'ajout et
la soustraction d'opérateurs mathématiques ou d'affectation opérateurs affectant des données à la mémoire.
Et plus vous avez d'opérateurs vous permettent de vous exprimer davantage
dans votre code.
Et donc une fonctionnalité de langue avec étant plus orienté programmeur est cette liste
d'opérateurs que nous parler beaucoup plus en détail.
C'est moins strict que la plupart des langues limiter ce que vous pouvez faire
en quelque sorte déjà parlé de cela.
J'ai mentionné le compromis avec ceci, flexibilité contre rigueur.
C'est un avantage en ce que vous pouvez faire les choses de différentes manières.
Cependant, cela pourrait être un danger car il est plus sujet
aux erreurs de programmation, en particulier avec quelque chose comme des pointeurs.
Donc, le fait que vous puissiez gérer votre propre mémoire en c est très flexible, mais
c'est aussi parfois très compliqué.
Et par conséquent, de nombreux programmeurs introduire des bogues dans les programmes.
Maintenant, java ne permet pas à vous de gérer votre mémoire.
Mais c'est aussi moins flexible mais cela réduit également vos bogues dans
votre programme.
Il y a donc un compromis.
Vous voulez fondamentalement avoir flexibilité en permettant également aux choses
d'être moins complexes.
C vous donne plus de liberté, mais met également plus de responsabilité sur
le développeur, et c'est pourquoi il est orienté programme.
Les implémentations C ont une grande bibliothèque de fonctions c utiles.
Donc tu n'as pas à tout écrire en c si vous voulez faire quelque chose.
Les langages de programmation seraient généralement contiennent d'autres fonctionnalités de programme fournies
avec la langue.
Donc par exemple si vous voulez lire entrée de l'utilisateur, vous ne voulez pas écrire
de code c de bas niveau pour faire cela.
Il y aura des codes en c qui le fait déjà pour vous
et vous réutilisez simplement ce code.
Et c'est généralement encapsulé dans quelque chose qui s'appelle la bibliothèque.
Et donc c a toutes sortes de librairie des fonctions
pour lire des données depuis le clavier, pour écrire des données dans des fichiers, pour créer toutes sortes de belles choses avec différents
processus et menaces.
Je veux dire toutes sortes de belles choses.
Donc le fait que beaucoup de l'implémentation est fournie avec
le langage et vous n'avez pas à implémentez-le vous-même, il vous suffit
d'apprendre à l'utiliser les bibliothèques sont très avantageuses et
très orientées programmeur.
Certaines autres fonctionnalités de c sont fournit des fonctionnalités de bas niveau qui sont
généralement fournies par le niveau inférieur langues, nous en avons parlé.
Mais encore une fois, le meilleur exemple c'est la mémoire gestion, accès direct à la mémoire.
Les programmes peuvent être manipulé à l'aide de bits.
Eh bien, si ce n'est pas un bas niveau Je ne sais pas ce que c'est. C'est la capacité de gérer
la mémoire représentation à un niveau de bit.
Les bits et les octets sont la façon dont nous stocker réellement des données sur des
ordinateurs, fournit une grande variété de opérateurs de manipulation de bits.
Encore une fois, quelque chose dans la langue dont nous parlerons plus en détail.
Les pointeurs jouent un grand rôle dans c.
C'est un concept que vous pouvez vous en avez déjà entendu parler, vous
n'en avez peut-être pas entendu parler, mais c'est liés à la gestion de la mémoire.
Nous allons en avoir beaucoup conférences sur les pointeurs. Mais c'est une caractéristique très,
très importante de c que vous devriez connaître à
un niveau très élevé.
C gérer la mémoire, c pointeurs. Souvent, quand vous pensez au langage de
programmation c, d'abord ce à quoi vous pensez, ce sont des pointeurs.
Et tout cela est direct accès à la mémoire.
Inconvénients de c, nous avons parlé à propos de cet arbitrage de flexibilité,
flexibilité contre liberté.
Cela nécessite également une responsabilité supplémentaire.
Certains considèrent cela comme un inconvénient, certains pensent que les pointeurs sont abusés.
Et par conséquent, de nombreux les gens écrivent de mauvais programmes c.
Eh bien, ouais, si tu donnes à quelqu'un un outil que vous faites quelque chose,
ils le font de manière incorrecte, qui est en faute?
C'est en quelque sorte, encore une fois, veux-tu pour restreindre cet outil
parce qu'il est utilisé de manière abusive ou voulez-vous autoriser cet outil pour permettre la flexibilité.
Vous pouvez donc souvent être plus flexible mais c'est au risque de faire plus d'erreurs et
souvent ces erreurs sont très difficile à trouver et à tracer, surtout s'il
s'agit de trucs de mémoire.
Cela peut donc être un problème.
Autres choses à cause de sa richesse d'opérateurs et sa concision, il
rend le langage difficile à lire et à suivre parfois.
Pour la plupart, c est très facilement lisible.
Mais si vous en utilisez beaucoup différents opérateurs, ce qui peut le
rendre plus complexe.
Il y a donc une opportunité d'écrire code obscur, mais c'est
n'importe quel langage peut être mal écrit.
Ainsi, vous pouvez utiliser l'anglais langue quand vous parlez et vous
pouvez avoir une mauvaise grammaire.
Ce n'est pas différent quand vous écrivez - utilisez un langage de programmation.
Mais certains disent avec c que c'est un inconvénient à cause de tous ces opérateurs.
Si vous ne l'utilisez pas correctement, il peut être plus difficile de suivre le code.
Donc juste pour résumer.
C'est une belle illustration encore une fois, j'ai trouvé
sur le Web que je voudrais vous fournir.
Les principales fonctionnalités du langage c: rapide et efficace, portable, beaucoup de belles bibliothèques où vous peut
réutiliser le code et vous n'avez pas à
faire les choses vous-même,
modularité, discuté plus tôt, mais c'est l'idée d'organiser le code
autour des fonctions, facile à
étendre et ensuite tout ces puissants opérateurs qui vous permettent de faire
des choses.
Donc beaucoup de fonctionnalités intéressantes.
Et la plupart des fonctionnalités dont nous venons de parler sont dans de nombreuses
langues modernes car ils sont construits à partir de c.