Файл: Обзор языков программирования высокого уровня (Основные операторы языков программирования высокого уровня).pdf
Добавлен: 30.03.2023
Просмотров: 238
Скачиваний: 2
Библиотека React была разработана компанией Facebook. Она является одной из самых популярных на основе javascript. React позволяет разрабатывать мобильные приложения, сайты и SPA (singlepageapplication). React существенно легче в изучении по сравнению с Angular 2. Angular разработан компанией Google и в последнее время терпит много трансформаций. Сначала все использовал Angular 1, несколько лет назад вышел Angular 2, который более производительней, удобней и быстрее. Сейчас Google разрабатывает Angular 4. Он должен заменить Angular 2 и стать лидером среди javascript библиотек. Посмотрим, что с этого выйдет. В целом, Angular сложный для новичков и хорошо подходи для разработки веб приложения для крупных компаний.
Кроме приведенных выше библиотек очень популярный node.js. Он позволяет разрабатывать серверную часть на Javascript. Это лучшее решение если вы хотите разработать back-end часть с использованием js. Как видите, javascript универсальный язык программирования. Имеет хорошую гибкость и производительность. Именно это и делает его одним из самых популярных в нашем списке.
SQL. Это язык программирования используется для управления данными в реляционной базе данных. Знания SQL является обязательным для проектирования баз данных, который используются большинством веб сайтов. Хотите или нет, но вам нужно знать основы SQL.
Java. Java очень популярный в финансовой и банковской индустрии. В первую очередь благодаря своей скорости работы и уровня безопасности. Java разработчики очень ценятся на рынке труда из-за дефицита. Этот язык программирования достаточно сложный для изучения и для новичков не всегда дается легко. Кроме всего прочего, приложения Android разрабатываются именно на Java. Это основная причина столь значительной популярности этого языка. По статистике GoogleTrends, динамика идет вниз.
C#. Один из самых продвинутых и удобных языков программирования. Он является основным языком разработки для платформы Microsoft .NET. C# очень похож на Java, но все же имеет ряд своих преимуществ. Стоит отдельно отметить, что C# сложнее в изучении чем Java. Это не самое лучшее решения для новичков.
Python. До недавнего времени PHP был более популярный чем Python, но сейчас можно уверено сказать, что Python завоевывает доверие молодых разработчиков. Он имеет огромное количество преимуществ. В первую очередь, он лаконичный и понятный. Таким образом, Python – это отличный старт для начинающих разработчиков. Удобная структура кода позволяет легко разрабатывать проект и в дальнейшем поддерживать их. Для бизнеса это означает сокращение расходов. Питон это один из немногих серверных языков, который показывает динамику роста.
PHP Самый используемый язык программирования для серверной части. Согласно статистике, PHP используют около 240 миллионов вебсайтов. PHP имеет хорошую гибкость и производительность. Его можно использовать для небольших бизнес сайтов, а также для крупных проектов с высокой нагрузкой. Существует множество фреймворков разработанных на PHP. Они имеют хорошую скорость и высокий уровень безопасности. Наша компания, Merehad, отдает предпочтение именно этому языку программирования. В своей работе мы используем Laravelфреймворк для разработки крупных веб приложений. Основными недостатками является, отсутствие возможности разрабатывать десктопные приложения и серверные компоненты. Как и большинство серверных языков программирования он теряет свою популярность.
C++. Один из самых сложных языков программирования. Новичку будет сложно разобраться и многие стараются обходить его стороной. Но вместе с этим C++ имеет высокую производительность. Он позволяет создавать приложения и программы практически для любых целей.[9]
TypeScript. TypeScript разработан компанией Microsoft. За короткое время он набрал популярность. TypeScript является гибким и производительным языком программирования, который основан на Javascript. Основатели TypeScript потратили много усилий и продолжают добавляют новые решения для повышения производительности и удобства. Неудивительно, что Javascript пытается внедрить их у себя. Если вы новичок, на него стоит обратить внимание, так как он будет продолжит набирать популярность в 2018 году.
Ruby. Это динамично императивный объектно-ориентированный язык программирования. Он используется в веб разработке в связке с фреймворкомRails. Ruby является языком сверх высокого уровня. У него простой и чистый синтаксис. Ruby обеспечивает хорошую масштабированность и легкое сопровождение. Как и PHP он позволяет разрабатывать ecommerce платформы. Язык могут начать изучать новички. Основным недостатком является плохая документация и медленные рост популярности.
Swift. Язык разработан компанией Apple и был призван заменить Objective-c. Swift имеет улучшенную читабельность кода, больше возможностей по сравнению objective-c и повышенную безопасность. Он набирает популярность и сейчас превосходит objective-c. На мой взгляд это язык программирования имеет хорошие перспективы.
2.2.Консольный ввод-вывод в языках программирования С++ и Java
Язык C++ является расширением языка С. Сфера его применения – системное программирование. Однако долгое время С++ использовался для написания прикладных программ несмотря на то, что требования к системным и прикладным программам не совпадают.
Java – объектно-ориентированный язык. Абстракция, инкапсуляция, наследование и полиморфизм являются для него необходимыми свойствами, как и для С++.
Синтаксис операторов Java практически полностью совпадает с синтаксисом языка C, но в отличие от C++, Java это не расширение C, а совершенно независимый язык, со своими собственными синтаксическими правилами. На примерах программирования можно убедиться в том, что операторы объявления переменных, условия, цикла, присвоения значений и другие, а также арифметические, логические операции, операции сравнения в этих языках одни и те же.
Однако есть и различия, с которыми мы предлагаем ознакомиться на нескольких примерах.
Задача 1. Задан двумерный массив, размерностью 4x4.
Необходимо его заполнить по спирали таким образом, чтобы выходные данные имели следующее расположение:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7.
Программа 1.1. (С++)
#include<iostream>
using namespace std;
int main (intargc, char** argv)
{int x; cout<<"x="; cin>>x;
For (inti=0; i<<x<<" "; x++;}
int t=x, y=x+7;
cout<<<endl;
for(int=0; I<3;i++){ cout<<y<<<" ";y++}
cout<<t<<endl;
cout<t+6<<" "<<t+11<<" "<<t+10<<" "<<t+1<<endl;
t+=5
for(int=0; I<4;i++){ cout<<t<<<" ";y--}
return 0;}
Программа 1.2 (Java)
packageb1; //b1-названиепректа
import java. util.Scanner;
public class B1
{public static void main(String [] args)
{int x;
Scanner in = new Scanner(System.in);
System.out.printf("x=");
x=in.nextInt();
for(inti=0; i++){System.out.printf("%d;\t", x); x++;}
int z=x, y=x+7;
System.out.printf("\n");
for(inti=0; I<3;i++){System.out.printf("%d\t", y); y++;}
System.out.printf("%d\t", z);
System.out.printf("\n"); System.out.printf("%d\t%d\t%d\t%d\n", z+6, z+11, z+10,z+1);
z+=5;
for(inti=0; i<4;i++){System.out.printf("%d\t",z ); z--;}
}}
Рисунок 12. Среды программирования Dev-С++ и NetBeansJava
Задача 2. В одномерном массиве, состоящем из n вещественных элементов, найти элемент с минимальным значением
Программа 2.1 (С++)
#include<iostream>
using namespace std;
intmain(intargc, char** argv)
{int n; float min;
cout<<"n="; cin>>n;
float a [n];
for(inti=0;i<n;i++){cout<<"a["<<i<<"]="; cin>>a[i]; }
min=a[0];
for (inti=0;I<n;a[i]) {min=a[i];}
cout<<"min="<<min
return 0;}
Программа 2.2 (Java)
package b2;
import java.util.Scanner;
public class B2
{public static void main(String[] args)
{int n; float min;
Scanner in = new Scanner(System.in);
System.out.printf("n=");
n=in.nextInt();
float []a = new float [n];
for(inti=0;i <n; i++) { System.out.print("\ta["+i+"]="); a[i]=in.nextInt();}
min=a[0];
for (inti=0;i<n; i++) if(min>a[i]) {min=a[i];}
System.out.print("\nmin="+ min+"\n");
}}
Рисунок 13. Задача 2
Задача 3. Ежемесячная стипендия студента составляет А рублей, а расходы на проживание превышают стипендию и составляют С рублей в месяц. Рост цен ежемесячно увеличивает расходы на 3%. Составить программу расчета суммы денег, которую необходимо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию.
Программа 3.1 (С++)
#include <iostream>
using namespace std;
intmain(intargc, char** argv)
{float A, C, S=0;
cout<<"stip: "; cin>>A;
cout<<"exps: "; cin>>C;
S+=C;
cout<<endl;
for(inti=2;i<=10;i++) { C+=C*(float)3/100; S+=C;}
cout<<"exps - 10 m: "<<S<<endl;
cout<<"stip - 10 m: "<<A*10<<endl;
cout<<"sum - parents: "<<S-A*10;
return 0;}
Программа 3.2 (Java)
packageb3; //b3 названиемоегопроекта
import java.util.Scanner;
public class B3
{public static void main(String[] args)
{float A,C,S=0;
Scanner in = new Scanner(System.in); //объявить in
System.out.printf ("stip: ");
A=in.nextFloat();
System.out.printf ("\nexps: ");
C=in.nextFloat();
S+=C;
for(inti=2; i<=10; i++) { C=C+C*(float)3/100; S+=C;}
System.out.printf ("exps – 10 m: %f;\n", S);
System.out.printf ("stip – 10 m: %f;\n", A*10);
System.out.printf ("sum – parents: %f;\n", S-A*10);
}}
Рисунок 14. Задача 3
В программунаязыке С++ добавляютстроку «using namespace std;», а наязыке Java – «import java.util.Scanner;». Данные строки необходимы для корректной работы методов ввода и вывода переменных в соответствующих языках. Именно в этих методах – разница в приведенных программах. В С++ для ввода и вывода используются объекты cin и cout из класса istream и ostream соответственно, хотя в нем есть возможность применения для данных целей методов scanf() и printf(), унаследованных из С. В Java для потокового ввода и вывода в классе System определены объекты in и out. Сам класс размещается в пакете java.lang. который автоматически подключается к программе.
В объекте out определены методы System.out.print(), System.out.println() и System.out.printf(). Способы применения последнего метода также заимствованы из С. В рассмотренных примерах на Java используется именно этот метод, но во второй задаче представлена работа метода print() с конкатенацией в виде знака «+»: System.out.print("\nmin="+ min+"\n"). Для того, чтобы перевести курсор на новую строку, в самом методе применен спецификатор "\n" (аналогично, такие спецификаторы для перехода на новую строку или для табуляции применяют в языке С++).
Когда есть необходимость в переводе курсора на следующую строку без применения "\n" можно воспользоваться методом System.out.println(). Логично предположить, что для ввода данных с консоли можно использовать метод System.in, но в данном случае применяют класс Scanner и его конструктор new. Scanner расположен в пакете java.util и он подключается к программе той строкой, которая была добавлена к шаблону на Java: java.util.Scanner. В теле функции main программист объявляет объект in и присваивает ему значение: Scannerin = newScanner (System.in). Метод System.in передается new.
Java гораздо сильнее типизирован по сравнению с C++, соответственно и ограничений для него больше на действия с переменными и величинами разных типов. Для ввода целочисленных, вещественных или строковых чисел применяют разные методы. Например, in.nextInt() возвращает введенное с клавиатуры целочисленное значение, nextDouble() – число double, in.next() – строку до первого пробела и т. д.
Java является одним из наиболее востребованных языков программирования на современном этапе. Он предоставляет для широкого использования свои апплеты (applets) – небольшие, надежные, динамичные, не зависящие от платформы приложения.
3. Перспективы развития Java в 2018 году
В 2018 г. Java остается одним из наиболее популярных языков программирования, особенно для клиент-серверных веб-приложений. Его синтаксис является в значительной мере производным от Си и Си++, но у него меньше низкоуровневых возможностей, чем в любом из них.
Однако язык продолжает развиваться по мере того, как на рынке появляются новые области применения. Один из экспертов по Java сказал недавно, что в прошлом году Java, возможно, больше изменился за считанные недели, чем за предыдущие 13 лет.
Итак, что нас ждет в 2018-м? Во-первых, новый цикл релиза каждые 6 месяцев. Как будет сообщество Java справляться с поэтапными изменениями? Как будет развиваться Java, чтобы соответствовать новым потребностям больших и малых организаций?
Джон Дюймович, заслуженный инженер и главный технолог IBM по Java, имеющий более чем 20-летний опыт работы с этим языком, предложил свой прогноз, на что следует обратить внимание в мире Java в 2018 г.
2018 г. станет годом Eclipse. «Руководя теперь такими важнейшими проектами, как EE4J и MicroProfile, фонд EclipseFoundation будет играть в 2018 г. еще более важную роль. Следует ожидать ускорения инноваций по мере того, как сообщество открытого кода будет все больше вовлекаться в эти и другие связанные с Java проекты. Разработчики захотят следить за EclipseFoundation в следующем году».