2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
1

Различия между языками C++, C#, Python и Java

14.04.2017, 11:27. Показов 17316. Ответов 228
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Цитата Сообщение от fsdfsgwergwrwh Посмотреть сообщение
Если составить схожесть и различия между ООП таких языков, как C++, C#, Python и Java, то какая между ними разница?
Разница простая - С++ универсальный язык предназначенный прежде всего для cоздания нативного кода и полной свободы программиста. Т.е. позволяет создавать высокоэффективные математически нагруженные и т.д. программы в том числе реального времени, при этом выстрелить себе в ногу очень проблемно. Правда если таки выстрелить то отстрелит обе ноги одним махом.
Все остальные - обрубки оного языка предназначенные каждый для своей ниши.
Java и C# для пользования программистами более низкой квалификации для решения не сильно интеллектуальных но сильно трудоемких задач. Т.е. тех где хотя бы в теории можно взять количеством а не качеством разработчиков. Ну типа информационных систем крупных корпораций и т.п. Заявляется что ногу себе прострелить невозможно. На самом при применении в неправильной сфере способны прострелят не только ногу но и перекосиить кучу окружающих, причем из-за неподконтрольных программисту свойств виртуальной машины на которой выполняются .
Python - по большому счету предназначен вообще не для профессиональных программистов а для ученых других специальностей которым нужен высокофункциональный калькулятор для обсчета своих мат.методов на скорую руку. Ну типа современного заменителя фортрана для непрофессионалов в области программирования. (В 60-е -70-е ходила шутка - настоящий физик может на любом языке писать на фортране). Возможности накосячить тоже обрублены на корню вместе со свободой действий.


 Комментарий модератора 
Данное сообщение - оффтоп (ТС спрашивал про ООП), флейм (нет фактов, есть общие субъективные оценки), холивар (эмоциональный тон, провокация на холивар).
Тему переношу в Холивары.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2017, 11:27
Ответы с готовыми решениями:

Различия между версиями в python
изучаю питон, хочу решить легенькую задачку по спискам, найти сумму элементов нечетных(четных)...

Различия между Java и Си++
Я раньше программировал на си++,сейчас начал на java,нужно понять основные различия 1. Каковы...

Программирование роботов и ИИ. Выбор между C# и Java. Немного о Python
Здравствуйте. Возможно, многие форумчане, особенно постоянцы этой темы знают, что я создавал много...

Переключение между скриптовыми языками
Добрый день всем. Можно ли как-нибудь выйти из такой ситуации : 1 - editpr.asp 2 - upload.asp 3...

228
Модератор
Эксперт функциональных языков программирования
3051 / 2193 / 459
Регистрация: 26.03.2015
Сообщений: 8,469
29.04.2017, 21:03 221
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Должно быть так же как и строчкой выше.
Строчкой выше счётчик цикла увеличивается, а здесь уменьшается. Поэтому цикл выполняется 0 раз (при N > 1) или бесконечно (при N <= 1).
0
1287 / 880 / 254
Регистрация: 30.06.2015
Сообщений: 4,592
Записей в блоге: 51
30.04.2017, 10:35 222
Цитата Сообщение от Shamil1 Посмотреть сообщение
Строчкой выше счётчик цикла увеличивается, а здесь уменьшается.
Всё верно это моя ошибка. Просто просмотрел когда печатал. Но всё равно он быстрее указателей всго лишь на 1 секунду(23 сек). Но это не принципиально. Про индексы забудьте, это бред. Однако что касается указателей всё остаётся в силе.

Добавлено через 53 секунды
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Добавьте туда код который реально каким то образом обрабатывает символ. т.е исходите из того что доступ к элементу строки все равно нужен.
попозже проведу некоторые опыты.
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
30.04.2017, 23:39  [ТС] 223
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Про индексы забудьте, это бред. Однако что касается указателей всё остаётся в силе.
Индекс это по факту тоже указатель по определению - т.е. номер (адрес) ячейки памяти, только в другом адресном пространстве (считаемом от начала массива) и в других единицах измерения (в элементах массива).
0
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
01.05.2017, 10:31 224
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Аналог плиз.
Представление полей в виде вектора байт? Элементарно:
Lisp
1
2
3
4
5
6
7
8
(deftype u8 ()
  '(unsigned-byte 8))
 
(defstruct (rgba (:type (vector u8)))
  (red   0 :type u8)
  (green 0 :type u8)
  (blue  0 :type u8)
  (alpha 0 :type u8))
Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
in[y,x]
Хм. Сейчас только заметил. C++ не может в многомерные массивы и такого оператора нет и добавить нельзя (штатными средствами).
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
01.05.2017, 11:14  [ТС] 225
Цитата Сообщение от nullxdth Посмотреть сообщение
Хм. Сейчас только заметил. C++ не может в многомерные массивы и такого оператора нет и добавить нельзя (штатными средствами).
__________________
C++ все может. Многомерные массивы правда немного с друггим синтаксисом in[x][y]

Добавлено через 1 минуту
Цитата Сообщение от nullxdth Посмотреть сообщение
Представление полей в виде вектора байт? Элементарно:
так чтобы я значению всему int32 мог присвоить одним махом или к каждому из байтовых полей обратится по отдельности?

Добавлено через 1 минуту
Цитата Сообщение от nullxdth Посмотреть сообщение
Представление полей в виде вектора байт? Элементарно:
А в виде битовых полей?
в духе
C++
1
2
3
4
5
struct{
    unsigned a:3;
     bool b:1;
     unsigned c:2;
}
Добавлено через 3 минуты
Цитата Сообщение от nullxdth Посмотреть сообщение
и такого оператора нет и добавить нельзя (штатными средствами)
Ну то смотря какие компиляторы. Если есть свойства то и массивы есть любой размерности и с любым типом в качестве индексов. Да и без свойств добавляются оператор [] который возвращает тип-массив на размерность меньше. Учитывая что массив это указатель то просто песня в плане удобства. А вот перехват записи в массив это уже без свойств сложнее. Только через прокси-класс.
0
1287 / 880 / 254
Регистрация: 30.06.2015
Сообщений: 4,592
Записей в блоге: 51
01.05.2017, 13:14 226
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Индекс это по факту тоже указатель по определению - т.е. номер (адрес) ячейки памяти, только в другом адресном пространстве (считаемом от начала массива) и в других единицах измерения (в элементах массива).
Это смещение от указателя начала строки - offset. Манипулировать индексамм надёжнее с точки зрения безопасности, так как используется только один указатель, а не несколько. Причём константный указатель. А все смещения образуются при помощи индексации.
0
2304 / 1063 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
01.05.2017, 13:30 227
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Многомерные массивы правда немного с друггим синтаксисом in[x][y]
Это не многомерные массивы.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
01.05.2017, 19:34 228
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И что вы хотите сказать, - что компилятор хаскеля написан на самом хаскеле?
мне скучно и неинтресно повторять прописные истины. последний раз: компилятор языка в 99% случаев пишется на нем самом.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А в других разделах быстренько начинают торчать рожки да ножки gcc...
Отсюда: https://github.com/ghc/ghc/blo... style.html
html теперь в каждой букве "с" си мерещится?
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
02.05.2017, 03:45  [ТС] 229
Цитата Сообщение от nullxdth Посмотреть сообщение
Это не многомерные массивы.
А что это по вашему?

Добавлено через 9 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Это смещение от указателя начала строки - offset.
А укзатель в таком случае смещение от начала адресного пространства. Т.е. индекс ячейки памяти.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Манипулировать индексамм надёжнее с точки зрения безопасности, так как используется только один указатель, а не несколько. Причём константный указатель. А все смещения образуются при помощи индексации.
По немного другой причине. Индекс это указатель в виртуальном адресном пространстве массива. Т.е. сам массив можно рассматривать как точно такое же линейное адресное пространство как и все ЗУ (не обязательно ОЗУ), помещенным в адресное пространство ЗУ, только с другим началом другим размером, и другим размером/шагом ячеек. Ну и соответственно преобразование индекса из адресного пространства массива в адресное пространство ЗУ зона ответственности компилятора. А с сырого указателя - зона ответственности программиста. При этом чем дальше в размерности массива тем толще партизаны в арифметике указателей.
0
02.05.2017, 03:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2017, 03:45
Помогаю со студенческими работами здесь

Клавиатура не переключает между языками.
Help, for me the keyboard has ceased to write in Russian! What to do? Probably that with the...

В чем разница между CMS и языками программирования?
В чем разница между CMS и языками программирования? Если есть дизайн сайта в фотошопе можно его...

Как можно реализовать переключение между языками
Требуется сделать переключения между языками ru и eng (в виде флажков), сайт с фрэймами....

Ошибка при установке SSMS: несоответствие между языками установщика и ОС
wtf? ошибка при установке


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
229
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru