На этом коротком слайде мы узнаем, как создать поток через функциональное программирование.
Дата отправки отчёта:
26 ноября 2018 г.
Задание выполнено: за
1 час. 54 мин.
Чему научился:
В языке Си нет поддержки функционального программирования, поэтому я решил выполнить этот урок на языке Java. Сначала скачал jdk 11, скомпилировал программу, попробовал запустить, система сказала, что версия моего .class файла ниже, чем поддерживая версия рантайма в операционной системе. Посмотрел текущую версию рантайма, она оказалась равной 1.8, то есть 8, если я правильно понял. Я решил не менять свой рантайм, скачал другую версию jdk 1.8, скомпилировал - запустил - работает. Ура, я справился с Java. Хотел было уже отправить отчёт, но тут подумал, ну если Си не способен создать лямбду, может тогда старший брат С++ поможет? Набрал код на этом языке, запустил, тоже работает. Тут я использовал средства стандартной библиотеки, поэтому код похож на код Java, а не выкрутасы с системными вызовами как было в Си :)
Чтобы потоки выполнялись более-менее параллельно, я добавил задержку в 10 мс между итерациями, как и было предложено сделать в видеоуроке.
Видеоурок короткий, минут 5. На настройку Java ушло минут 20, сначала вывел Hello World, потом переписал код с видео, всё заработало. Хотел было отправить отчёт, но потом вспомнил, что в C++ есть поддержка функционального программирования. Кроме того, у меня есть опыт создания потоков с помощью стандартной библиотеки С++, поэтому получилось быстро набрать программу на этом языке. Потом решил добавить задержку в 10 мс между итерациями, улыбнуло то, что Java не дала скомпилировать код без блока try-catch :)
Научился: Очень интересная тема. Только сегодня где-то видел функциональный код на С#, там вроде бы оператор => {} используется. Трудности: Хотел вывести номер потока в консоль, пока не вышло. Буду думать дальше )
Научился: В языке Си нет поддержки функционального программирования, поэтому я решил выполнить этот урок на языке Java. Сначала скачал jdk 11, скомпилировал программу, попробовал запустить, система сказала, что версия моего .class файла ниже, чем поддерживая версия рантайма в операционной системе. Посмотрел текущую версию рантайма, она оказалась равной 1.8, то есть 8, если я правильно понял. Я решил не менять свой рантайм, скачал другую версию jdk 1.8, скомпилировал - запустил - работает. Ура, я справился с Java. Хотел было уже отправить отчёт, но тут подумал, ну если Си не способен создать лямбду, может тогда старший брат С++ поможет? Набрал код на этом языке, запустил, тоже работает. Тут я использовал средства стандартной библиотеки, поэтому код похож на код Java, а не выкрутасы с системными вызовами как было в Си :)
Чтобы потоки выполнялись более-менее параллельно, я добавил задержку в 10 мс между итерациями, как и было предложено сделать в видеоуроке.