table of contents ―― 1. Current situation ―― 2. About programming languages ―― 3. From now on
This Qiita is for science students who aim to become IT engineers in the future ・ What you can understand even if you start from 0 ・ Visualization of the output of one's study It is a memorandum that I started for. (I'm a chick who doesn't have much knowledge. I'd be grateful if you could give me any corrections or advice.
Mechanical engineering → Theoretical physics → IT engineer (future) Science student with a background
C language → Basic information processing, no development experience python → Can do basic information processing, has no development experience
MacOS -10.13.6 python -2.7.16 (Mac initial equipment) python -3.8.0
System / Application: Java, C, Ruby, PHP Web design system: JavaScript, PHP, HTML Artificial intelligence: Python Note * Simple classification. There are areas where each can be applied.
Java: A class-based object-oriented (object: a complex of data and code) general-purpose programming language. Similar to C language. One of the most popular programming languages used in web applications.
C: General-purpose programming language. Strict restrictions on the operating environment. Derivative sources such as C ++ and Java. Used in systems and applications.
Javascript: A prototype-based object-oriented scripting language. Used for designing websites and Wen apps. Used in many web browsers. Note * A language different from Java.
Ruby: An object-oriented scripting language developed by Japanese Yukihiro Matsumoto. Python is the competing language after Perl. Used in web applications, homepage creation, etc. Easy-to-understand code and Japanese development make it easy to obtain information in Japanese.
PHP: Has characteristics as a programming language and processing system. The language is close to C and Java. You can create dynamic web pages on the server side. It can be used in apps, but it is often used in websites.
HTML: A markup language for creating web pages. Most web pages are made in HTML.
Python: A general purpose code that is simple and easy to learn. It has abundant libraries, is easy to apply to various areas (you can use a block of programs created by others), and has abundant compatible operating environments (hardware, OS). Used in artificial intelligence and machine learning.
** World demand ** --Apps: Ruby, Java --Web system: JavaScript, PHP --Artificial intelligence: Python
Is mainstream?
** Simple and easy to learn ** -Script language: Since the source coat can be executed as it is, the results can be seen immediately and learning is easy. ex) Python, JavaScript, Ruby, PHP
-Compiler language: You need to compile the source code to execute it. ex) C, Java
** Application works ** -Python → A rich library (a package that summarizes functions for a certain purpose) and has a wide range of applications. ex) App, artificial intelligence, statistical / data analysis, IoT development Note * A collection of multiple functions → Module A collection of modules → Package A collection of packages → Library Library = A collection of a large number of programs that can do something.
・ JavaScript → Web front engineer required. It is used for the part related to the user's behavior on the browser.
・ Ruby → Used for application development. The library Ruby on Rails is often used. Since it was developed by the Japanese, you can firmly learn the concept of a programming language called object-oriented in Japanese.
** Purpose of learning **
Get in touch with various languages and know what can be achieved. (To decide what area to become an engineer) × Occupation selection with purpose ○ Occupation selection with skill
Application to research activities Application of artificial intelligence technology to physics
** Types of engineers and required languages (as much as memo writing) ** --AI (artificial intelligence) engineer: Python --Application engineer (business): Java, C --Application engineer (web application system): Java, C, Ruby, PHP --Application engineer (smartphone system): Swift (iPhone), Java (Android) --Front-end engineer: JavaScript, HTML --Server-side engineer: Ruby, PHP, Python, Java
** Language to learn **
Learning Python and running machine learning for research for a while. After that, I want to study Ruby and Java by myself and gain development experience.
-[Slurry Understanding Python](https://www.amazon.co.jp/ Slurry Understanding Python-Iwasaki-Kei / dp / 4798151092/ref = sr_1_1? __mk_ja_JP = Katakana & dchild = 1 & keywords = Smooth python & qid = 15191248379 & sr = 8-1 ) --wikipedia (for each language)
Recommended Posts