21

Re: Смолоскип

tim написав:
P.Y. написав:

Та кому я розказую — тут більшість програмісти, а хтось десь колись бачив книжкові розкладки, заповнені комп'ютерною літературою українською мовою?

В КНУ (кібернетика) в бібліотеці повно літератури з програмування українською мовою. Книги практично з усіх базових предметів. Багато професорів та доцентів видали по 1-3 книги за 25 років. Є досить корисні.

Це, звичайно, добре (в роки мого навчання в КПІ підручників українською з профільних предметів ще не було взагалі), але це незовсім те, що насправді треба, і цього недостатньо. Програміст — це професія, де вчитися треба постійно, підлаштовуючись під постійні зміни технологій, ВУЗівські ж навчальні програми, як правило, відстають від реальних потреб комп'ютерної галузі років так на 20-30 — а галузь продовжує розвиватись. Тому підручники професорів мало хто купує, крім студентів (особливо якщо треба здавати професорові, що написав оцю книжку).

22

Re: Смолоскип

У нас проблема, викладач це людина тільки й думає скільки він за сесію заробить ( ну не всі, за всіх ручатись не буду ), за кордоном викладач щось вивчає, розробляє алгоритми, приклад тому Ендрю Таненбаум, де з студентами практикує написанню ОС Minix. Скільки спілкуюсь з студентами ВУЗів, про такого викладача не чув.
Книжки потрібно, але такі проекти в Україні загибаються, бо всі хочуть халяви, навіть 10 грн. ніхто не перекине, ну майже ніхто.

23

Re: Смолоскип

А як щодо краудфандингу? Поки що така модель фінансування в українських умовах показує себе більш успішною, ніж продаж з оплатою за кожну віртуальну копію.

24 Востаннє редагувалося tim (17.10.2016 07:40:26)

Re: Смолоскип

P.Y. написав:

Це, звичайно, добре (в роки мого навчання в КПІ підручників українською з профільних предметів ще не було взагалі), але це незовсім те, що насправді треба, і цього недостатньо. Програміст — це професія, де вчитися треба постійно, підлаштовуючись під постійні зміни технологій, ВУЗівські ж навчальні програми, як правило, відстають від реальних потреб комп'ютерної галузі років так на 20-30 — а галузь продовжує розвиватись. Тому підручники професорів мало хто купує, крім студентів (особливо якщо треба здавати професорові, що написав оцю книжку).

1995-1999 в КНУ(кібернетика) були. За 15 років мабуть написали нові. Мови C, C++ та інші мало змінились за 10-15 років.
Нова революційна мова програмування виникає раз на 10-30 років.
В створенні інтерпретаторів, компіляторів, ОС, мов програмування, СКБД використовують практично ті самі методи, що і 20 років тому.

25

Re: Смолоскип

Мови C, C++, Java та інші мало змінились за 10-15 років.

Ви тільки тим, хто справді з ними працює, а не просто теревенить про це, того не розказуйте радше...

Подякували: tim, leofun012

26 Востаннє редагувалося P.Y. (15.10.2016 22:47:42)

Re: Смолоскип

Якщо йдеться про базовий синтаксис, то майже не змінились (хоча в Джаві 1.8 з'явилися лямбди, наприклад — а це вже рух від чистого ООП в бік ФП, Java поступово стає таким собі ЛІСПом чи Гаскелем). Але джавісту доводиться знати не тільки основи джави, а й фреймворки та бібліотеки, яких 15 років тому ще й у планах не було. Початково призначенням Джави були взагалі браузерні аплети — технологія, що до нашого часу практично вимерла, не витримавши конкуренції з flash'ем, який з приходом html5 також втрачає свою актуальність. В часи розквіту аплетів про серверну джаву майже ніхто не знав, уже не кажучи про ще не сконструйований тоді Андроїд. Для кожної з цих платформ треба вивчати специфічні бібліотеки — спільне між ними хіба що Java Core (тобто, сама мова й базові бібліотеки), тоді як решту реалізовано додатковими бібліотеками й зовсім по-різному.

Загальне правило: не змінюється лише те, що не розвивається і втратило актуальність. Наприклад, ФОРТРАН не змінюється — але на ньому ніхто й не пише нічого реального, лише підтримують старий код, написаний у 70-х...

Подякували: flatliner1

27

Re: Смолоскип

Джавісти люблять хвалитись, що Java тепер майже хаскель, бо в них є лямбди, але це може викладали тільки посмішку. Функціональні мови люблять не за лямбди, а за функції як first class citizens, абстрактні типи даних і pattern matching. А цього ніколи не буде, бо то вже буде не Java, а скала.

28 Востаннє редагувалося P.Y. (16.10.2016 17:55:19)

Re: Смолоскип

Функціональні мови люблять не за лямбди, а за функції як first class citizens, абстрактні типи даних і pattern matching.

Це дивлячись які функціональні. У ліспах з їх динамічною типізацією  маніпуляції з типами досить обмежені, зате є мегакруті макроси, які неліспам навіть і не снились. Але мова про те, що Java8 Streams API дозволяє писати код у термінах map/filter/reduce — подібно до того, як це можна робити в багатьох функціональних мовах, замість циклів, властивих процедурним мовам. Такий стиль дозволяє увіпхнути максимум дій у мінімум коду, маніпулюючи при цьому не масивами, а ітераторами (а отже, економія пам'яті на проміжних сховищах), з меншим ризиком «прострелити собі ногу» (як це буває при процедурних внесеннях змін у вхідний масив чи список).

Зворотня сторона цього — джавісту тепер треба вміти читати не лише ООП з процедурною начинкою в методах, а й ось такий функціональний код, який джаві раніше був невластивий.

29

Re: Смолоскип

P.Y. написав:

Наприклад, ФОРТРАН не змінюється — але на ньому ніхто й не пише нічого реального, лише підтримують старий код, написаний у 70-х...

Якби це було так, не з'явився б стандарт Fortran-90 (а у ньому, серед іншого, робота зі зрізами масивів P(N:M) = U(N:M) * I(N:M) та перевантаження операторів), не було б стандартів Fortran-95 та Fortran-2008 з його розпаралелюванням циклів (DO CONCURRENT).
Так, багато всього наукового перетоптано на С++, але для просто підтримки старого коду такі нові можливості мови непотрібні.

Подякували: leofun01, P.Y.2

30 Востаннє редагувалося P.Y. (16.10.2016 19:47:43)

Re: Смолоскип

ReAl написав:
P.Y. написав:

Наприклад, ФОРТРАН не змінюється — але на ньому ніхто й не пише нічого реального, лише підтримують старий код, написаний у 70-х...

Якби це було так, не з'явився б стандарт Fortran-90 (а у ньому, серед іншого, робота зі зрізами масивів P(N:M) = U(N:M) * I(N:M) та перевантаження операторів), не було б стандартів Fortran-95 та Fortran-2008 з його розпаралелюванням циклів (DO CONCURRENT).
Так, багато всього наукового перетоптано на С++, але для просто підтримки старого коду такі нові можливості мови непотрібні.

Нові можливості з'являються, але про повноцінне повернення мови до життя, я так розумію, поки що не йдеться? Скидається на рух за модою без практичного застосунку чи створення видимості, що мова незовсім мертва й продовжує розвиватись.

31 Востаннє редагувалося ReAl (16.10.2016 20:55:01)

Re: Смолоскип

Що таке «повноцінне повернення мови до життя»?
Фортран не пропадав, про повернення мова не йде. Він продовжує жити у своїй ніші. Ця ніша звужується, але мова не є мертвою. Її використання не зводиться до підтримки старого коду і розвивається вона не тому, що комусь хочеться розпиляти грант створити видимість, а тому, що у цьому є потреба.

З того, що відбувається навколо мене.
• Знайомий по одному форуму десь ~2008 (з 2012 я на той форум не ходжу, тому нинішню ситуацію не знаю, до того часу він продовжував) став регулярно збирати свіжі збірки gfortran для мікроконтролерів ARM (ARM7, ARM9, Cortex) і прошивки своїх систем (керування літальними апаратами) писати на C++ + fortran, весь обчислювальний код на фортрані, логіка/комунікації/апаратура на C++. Стверджував, що це дає помітний приріст швидкості обчислень (10-20%, наскільки я пам'ятаю).
• Лабораторія, де донька минулого року робила магістерську — поточний код пишеться на фортрані.

Подякували: P.Y.1

32

Re: Смолоскип

Це дивлячись які функціональні.

Хаскель і ML'і, власне, ви саме з хаскелем порівнювали джаву.

Але мова про те, що Java8 Streams API дозволяє писати код у термінах map/filter/reduce — подібно до того, як це можна робити в багатьох функціональних мовах, замість циклів, властивих процедурним мовам. Такий стиль дозволяє увіпхнути максимум дій у мінімум коду, маніпулюючи при цьому не масивами, а ітераторами (а отже, економія пам'яті на проміжних сховищах), з меншим ризиком «прострелити собі ногу» (як це буває при процедурних внесеннях змін у вхідний масив чи список).

Ітератори ж ніби були і раніше, та і замість лямбд, як мені пам’ятається, була можливість передавати анонімний клас. Коду менше, це так, але чи є там щось нове? я не дивився, не можу сказати.

33

Re: Смолоскип

Ітератори ж ніби були і раніше

Робота з ітераторами в процедурно-ООПшному стилі — трохи не те задоволення.

а і замість лямбд, як мені пам’ятається, була можливість передавати анонімний клас.

Лямбди, власне, є лише синтаксичним цукром, що при компіляції перетворюється на ті ж анонімні класи.

ви саме з хаскелем порівнювали джаву.

І з ЛІСПом. Можливості, що були додані, належать до перетину множин можливостей обох мов.

34 Востаннє редагувалося tim (17.10.2016 07:44:09)

Re: Смолоскип

Lordie написав:

Мови C, C++, Java та інші мало змінились за 10-15 років.

Ви тільки тим, хто справді з ними працює, а не просто теревенить про це, того не розказуйте радше...

викреслив з списку java :)
Хто з Вас пише(написав) книгу з програмування українською?