Réintroduction à Java for Humanities 0: Comprendre l'acte de programmation

La vitesse d'apprentissage de la programmation est vraiment un problème

J'ai entendu dire que j'avais appris Java dans une classe d'école mais je ne le comprends pas. Cet article crache les résultats de la réflexion quotidienne sur les raisons de trébucher dans les premiers stades du langage de programmation. J'espère que cela aide les étudiants qui ont commencé à apprendre la programmation mais qui ne comprennent pas du tout. Le texte est devenu plus long que prévu.

je

Effet

Hello World La première chose que nous abordons dans de nombreux exemples de langage est ce processus de "sortie d'une chaîne de caractères". D'une manière ou d'une autre, je me souviens que l'expression «produire une chaîne de caractères» était rigide, ou que la première impression était «des phrases à haute pression».

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

Je pense qu'il y a beaucoup d'échantillons comme celui-ci dans les rues.

Qui fait l'objet du programme

Non limité au langage Java, les phrases que vous rencontrez lors de l'apprentissage de la programmation sont comme "La méthode de sortie des chaînes de caractères est la suivante." Ou "Apprenez à entrer et sortir des fichiers." Il y a de nombreuses phrases. Certes, la personne qui écrit le code est la personne qui pense «étudions maintenant». Je parle souvent de cette façon moi-même. C'est comme "OK, utilisons BlueTooth pendant un moment aujourd'hui!" Cependant, en même temps, je vois souvent des phrases telles que "Un programme est une instruction à envoyer à un ordinateur". Ceci est une phrase pour clarifier que c'est l'ordinateur qui exécute réellement le programme. À partir de là,

  1. Écrire activement des instructions sur l'ordinateur dans le langage de programmation
  2. S'il est écrit correctement, le fichier source sera converti en fichier de classe au moment de la compilation
  3. Le programme fonctionne comme décrit dans le fichier de classe = Il fonctionne selon les instructions de l'ordinateur (il est différent de savoir s'il fonctionne comme prévu) Je pense que ce serait le cas, mais j'ai soudainement pensé que c'était le plus grand et le meilleur groove.

System.out.println(String text) Combien de personnes réussissent réellement le programme avec ce code? Ce que j'ai ressenti était une reproduction fidèle de la première touche de "Je ne sais pas ce que c'est, mais ça marche super ouais ouais ouais ouais". Après cela, j'ai rencontré de nombreux amis, et l'un d'eux, que je pensais être le patron dans mon cœur, m'a dit: "Je n'ai eu aucune tension lorsque les lettres sont apparues sur le terminal." Mon sentiment que quelque chose bouge est purement incroyable est similaire à un jouet en mouvement. Quand j'étais enfant, j'aimais voir des jouets dans les magasins où les singes émettent des sons étranges, sonnent des cymbales et secouent leur visage, mais je ne sais pas ce qu'ils sont, mais ils bougent (quoi? (Même si j'ai une préférence pour le mouvement), cela me paraissait encore plus étonnant car je n'en comprenais pas le principe et j'étais excité. Mais ce n'était pas l'impression que tout le monde ressentait. C'est peut-être juste une question de "bouger (faire quelque chose)". Cependant, il est facile d'imaginer que si vous ne venez pas ici, vous perdrez rapidement votre motivation à apprendre. Si je peux trouver un moyen de surmonter cela, je pense que je peux apprendre la programmation avec Tension MAX depuis le début. J'essaie généralement d'utiliser quelque chose d'aussi agréable que possible comme échantillon de la leçon, mais c'est une autre histoire. Cette fois, j'essaie de savoir comment dire aux gens qui ne viennent pas chez moi que le programme est comme ça.

À part: les personnes qui commencent à étudier commencent sans autorisation (avancent sans autorisation)

Il semble que certaines personnes reconnaissent cela. Cela signifie peut-être que je le fais tout le temps depuis que j'ai eu peur quand je l'ai essayé. Et ces personnes sont généralement très motivées pour en savoir plus sur le programme. Parce que "bibi" arrive déjà. La question est de savoir comment les gens qui ne paniquent pas font face à la programmation et comment peuvent-ils en avoir une bonne compréhension. En fin de compte, si vous ne trouvez pas de valeur dans ce que vous pouvez faire grâce à l'apprentissage de la programmation, vous ne serez pas motivé à apprendre, mais quand vous dites cela, vous n'avez ni corps ni couvercle, alors j'aimerais faire quelque chose. En conséquence, cette phrase est née.

Le langage de programmation est-il un «mot»?

La raison pour laquelle j'aime la programmation est que lorsque je l'écris, l'ordinateur l'exécute, et il y a un sentiment d'unité dans les mots. Le langage naturel peut être exprimé de différentes manières. J'aime essayer de faire des erreurs dans les combinaisons parce qu'il y a tellement de façons de les exprimer, telles que l'ordre des mots, le début et la fin des mots, et les émotions quand on parle. Cependant, même si la variation des expressions dans les langages de programmation est inférieure à celle des langages naturels, il y a un sentiment d'unité que les langages naturels n'ont pas (bien que cela dépende grandement du style d'écriture). Par conséquent, plutôt que de connaître le sens de la description, si je peux la remplacer par les mots que j'ai utilisés jusqu'à présent, ou si je peux la cartographier, je pense qu'elle correspondra aux êtres humains. Et même parmi les personnes que j'ai rencontrées, celles qui ont (que l'on pense être) de hautes capacités linguistiques ont l'impression que l'apprentissage de la programmation commence sans heurts. Un langage de programmation est un mot créé par l'homme pour un usage humain. Cependant, je pense que c'est assez différent du langage naturel que les humains utilisent habituellement. L'utilisation est différente. Ce qui peut être exprimé est différent. Mais c'est un mot. Je voudrais partir de cette reconnaissance.

"Hello World" encore: Le mur des termes techniques

C'est le début de l'apprentissage, donc je ne suis pas sûr de chaque partie. Cependant, vous pouvez confirmer que le texte à l'intérieur de "()" s'affiche à l'écran si le code se déplace. Même si c'est une spéculation qui "apparemment". Et si vous réécrivez cette phrase, la phrase affichée changera également. La question est: "Puis-je mettre en moi cette phrase extraordinaire de manière convaincante?"

L'écriture de Hello World en japonais ressemble à ceci.java


Tout le monde peut utiliser,Un programme appelé Hello World{
Tout le monde peut utiliser,Processus fixe nommé main, (Congestez un morceau de données de chaîne avec le nom args)Bouge toi{
Expirez avec la sortie standard Java, ("Hello World"Phrase)À;
	}
}

Est-ce que c'est comme ça quand j'essaye de l'écrire en japonais? Malheureusement, la langue maternelle japonaise, ce qu'on appelle le japonais, ne correspond pas aux principaux langages de programmation en tant que forme de langage. La complémentation dans le cerveau est importante. Vous le comprendrez en utilisant pleinement la méthode d'inversion de type slogan d'Apple. Il est inévitable d'essayer de comprendre le système informatique parce que nous ne pouvons pas échapper aux mots-clés techniques, mais comme les humains ne peuvent souvent pas verbaliser sans comprendre le système social humain, nous entrons dans la ville. Apprenons le mot «suivez la ville».

Est-ce un problème de travailler avec la copie?

La théorie extrême est "il suffit de bouger". Cependant, je ne sais pas ce que c'est, mais je pense que c'est très dangereux de bouger. Pour les Japonais, il peut être possible de communiquer avec des personnes qui ne peuvent pas parler japonais uniquement par des gestes, mais c'est la même chose que la possibilité qu'il soit mal transmis en fonction de l'aire culturelle de l'autre personne, ou qu'il ne soit pas réellement transmis. Ce n'est qu'avec une reconnaissance commune (la règle du «c'est quoi») que la langue peut être établie comme outil de communication. Je pense que la programmation qui saute cette compréhension commune a tendance à être un programme rigide avec une correspondance un-à-un. Lorsque la correspondance individuelle est reproduite en japonais, je ne comprends pas les règles communes des mots «grue et tortue glissées» et «chien et chat glissés», et je m'en souviens comme une expression complètement différente et sans rapport ( Je pense que c'est dans un état de (souvenir). Lorsque vous avez réellement appris le japonais, vous devriez avoir appris les mots en imitant les gens autour de vous. Vous devriez avoir lu les imprimés, abordé de nouveaux mots et phrases et appris à les exprimer. Essentiellement, apprendre consiste à comprendre la copie. Cependant, ce à quoi je pense que je devrais faire attention, c'est que je compare et corrige constamment des expressions et des mots erronés (comme dire «délicieux» parce que je ne peux pas bien dire «délicieux») avec ceux qui m'entourent. Cela signifie-t-il qu'il apparaît «en évidence»? En interne, je pense que c'est le travail de corriger la mémoire à l'optimum (formulation qui semble correcte par rapport à l'environnement) en fonction de ce que vous voulez faire (ce que vous voulez transmettre). Ce ne serait pas un pur souvenir un-à-un. Dans le but de «verbaliser ce que vous voulez faire», vous ne pourrez peut-être saisir que des modèles et vous souvenir des meilleurs mots. Comme prémisse, il est important d'être dans un état actif où "ce que vous voulez faire" est décidé. Cependant, la programmation fonctionne par copie. Même si vous ne pouvez pas spécifier exactement ce que vous voulez faire activement, si vous le recherchez et le copiez, "ce que vous voulez faire vaguement" peut bouger. Les tout-petits disent "Wow !!" parce que les mots ne correspondent pas, mais ce qu'ils veulent exprimer est fixe. Il n'y a aucun problème si le "toutou" et "l'objet que vous voulez instruire" correspondent, mais s'ils ne correspondent pas, les gens autour de vous n'ont pas d'autre choix que d'imaginer et de correspondre. Et beaucoup de gens sont gentils, alors ils disent gentiment: "Ce n'est pas en tête-à-tête, c'est Nya Nya." Les ordinateurs ne peuvent pas bouger comme ça. La première langue est apprise grâce à une quantité énorme de répétition, de catégorisation et de structuration en raison de cette propreté. Cependant, comme la deuxième langue et les suivantes peuvent mal fonctionner une langue (je pense), je ressens un inconvénient, et je pense que cette règle et ce mot peu clairs sont. Tombez facilement. Puisque les gens autour de moi ne l'utilisent pas tout le temps, la quantité d'intrants est extrêmement faible et, par conséquent, je pense que cela me rend triste que ce soit «ésotérique». Les mots sont difficiles à commencer. Avec l'aide de la compréhension des gens qui nous entourent, la communication avec nos mots est possible. Mais je ne pense pas qu'il y ait beaucoup de gens qui pensent qu'ils ne sont pas doués pour utiliser le japonais. C'est parce que les gens autour de moi font de leur mieux pour comprendre leurs propres mots, mais il n'y a pas beaucoup d'occasions de réfléchir à cela. La plupart du temps, cela finit par être rempli de sentiments tristes qu'ils ne comprennent pas. En programmation, même s'ils signalent des erreurs grammaticales, ils ne suivent pas ce qu'ils veulent véhiculer. En conséquence, nos programmes ne sont souvent pas transmis au compilateur ou sont transmis de manière incorrecte. Par conséquent, je pense qu'il est nécessaire de comprendre ce que dit la source du copier-coller, et d'avoir la compétence (capacité de programmation) pour réécrire des phrases comme il convient en fonction de l'état et de la personne que vous voulez transmettre.

Comment se souvenir est différent du langage naturel

Je l'ai écrit vaguement dans la section précédente, mais je dirai que le style d'apprentissage est différent en premier lieu. Je pense que beaucoup de gens ont appris le langage naturel à partir des mots. Je pense que vous apprendrez à exprimer des émotions en répétant "chien!" Et "chat!", Et apprendrez la "méthode d'expression" de la connexion de mots, mais après avoir connu le langage naturel comme langage de programmation. C'est quelque chose à porter. Les souvenirs de répétition de mots simples ne sont probablement pas très efficaces. En effet, la nomenclature en langage naturel est définie comme des variables en premier lieu par la personne qui écrit le programme, et les méthodes sont proches de la compréhension mutuelle et de la signification des adjectifs. Cependant, une fois que j'ai appris à porter des mots d'abord, je pense que c'est un obstacle que je ne peux pas bien sortir de ce sentiment. Il semble qu'il y ait des gens qui reconnaissent que c'est un mot parce qu'il est séparé par "." Au début de l'apprentissage et essayent de l'apprendre sous forme de nomenclature. Par conséquent, au lieu de "comprendre et réutiliser le sens", nous apprenons avec la même correspondance biunivoque que la nomenclature, et par conséquent, la question "Je ne sais pas où écrire quoi" surgit. J'espère que ce qui est important, c'est la reconnaissance de l'écriture d'un programme sous forme de phrase.

Considérez un langage de programmation comme un mot qui ne considère que faire une «demande»

Les gens dans les régions qui peuvent gérer les langages de programmation et les claviers, comme leurs propres membres, peuvent se voir demander "?", Mais je pense qu'un tel état peut être une étape dans l'apprentissage.

Conclusion

Ce que j'ai juré à mon coeur

Recommended Posts

Réintroduction à Java for Humanities 0: Comprendre l'acte de programmation
Comment vérifier le contenu de la chaîne de caractères java de longueur fixe
Introduction à Java pour la première fois # 2
À propos de la procédure pour que Java fonctionne
Guide de style de programmation Java pour l'ère Java 11
Sortie du livre "Introduction à Java"
Pratique des bases de la programmation Java - Je veux afficher un triangle avec une instruction for ①
Pratique des bases de la programmation Java - Je veux afficher un triangle avec une instruction for ②
L'histoire de l'apprentissage de Java dans la première programmation
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Java Bienvenue dans le marais des tableaux bidimensionnels
[Java] Comment obtenir l'URL de la source de transition
Comment écrire Scala du point de vue de Java
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
Initialisation de for Essayez de changer le problème Java en TypeScript 5-4
[Java] Comment obtenir la valeur maximale de HashMap
[Java] Lors de l'écriture du source ... Mémorandum ①
Introduction à Java pour les débutants Connaissance de base du langage Java ①
Java: utilisez Stream pour trier le contenu d'une collection
Comment exécuter l'exemple WebCamCapture de NyARToolkit pour Java
[Introduction à Java] Liste des choses qui ont été capturées par le 14e jour de programmation
[Java] Compréhension débutante de Servlet-②
Accédez à l'abréviation à partir de 5 exemples de listes Java en italique
20190803_Java & k8s sur Azure L'histoire d'aller au festival
[Java] Compréhension débutante de Servlet-①
Commande pour vérifier le nombre et l'état des threads Java
De l'habitude de créer des objets de valeur pour une compréhension orientée objet
[Java] Pour connaître les informations de type des paramètres de type à l'exécution
L'idée de C # (expression lambda, pour phrase) à mâcher
Comment dériver le dernier jour du mois en Java
Un mémorandum pour atteindre le lieu qui démange pour Java Gold
L'histoire de la transmission de Java à Heroku à l'aide du pipeline BitBucket
Assurez-vous de comparer le résultat Java compareTo avec 0
Viser une compréhension de base du flux de traitement récursif
Entrée dans la console Java
L'histoire de Collectors.groupingBy que je veux garder pour la postérité
Comment obtenir le contenu de la carte à l'aide du mémorandum d'instructions
[Rails] Comment changer le titre de la page du navigateur pour chaque page
La milliseconde définie dans /lib/calendars.properties de Java jre est UTC
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
J'ai essayé de résumer les méthodes de Java String et StringBuilder
kotlin & Java: Comment masquer la barre d'outils uniquement pour des fragments spécifiques
Comment obtenir la longueur d'un fichier audio avec Java
Comment incrémenter la valeur de Map sur une ligne en Java
[Java] Supprimer les éléments de la liste
[Pour les débutants] Résumé du constructeur java
[java8] Pour comprendre l'API Stream
[Édition Java] Histoire de la sérialisation
Introduction à la programmation fonctionnelle (Java, Javascript)
[Java] Entrez dans le stdin du processus
Bienvenue dans le marais des bibliothèques Java! !!
Introduction à la programmation pour les étudiants du Collège: Introduction
Compréhension étape par étape de la gestion des exceptions Java
Résumé de la programmation orientée objet utilisant Java
L'origine des expressions Java lambda
En vérifiant le fonctionnement de Java sous Linux, j'ai pu comprendre la compilation et la hiérarchie.
L'histoire de l'oubli de fermer un fichier en Java et de l'échec