Языки в обучении программированию

Linux как профессия: профориентация, найм, оплата

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 04 янв 2017, 16:09

Свежие статистики по языкам программирования по итогам 2016 года: применимость языков программирования.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 13 апр 2017, 10:57

Olej писал(а):Свежие статистики по языкам программирования по итогам 2016 года: применимость языков программирования.
Какой ужас! :-o
Читаем на сайте Альт Линукс Программирование на языке GAMBAS:
Сегодня в 07:48:41 »
Здравствуйте, уважаемые форумчане!
Использую данную среду программирования на уроках информатики в соответствии УМК Угриновича.
Уточняем:
Gambas — объектно-ориентированный диалект языка BASIC, дополненный интегрированной средой разработки и работающий на GNU/Linux и других UNIX-подобных операционных системах. Он представляет собой средство разработки программного обеспечения, аналогичное Visual Basic в плане разработки программ на Basic. Gambas задумывался как альтернатива для Visual Basic разработчиков, решивших перейти на Linux.
...
Разработка Gambas была начата в Париже Бенуа Минисини в 1999 году.
Т.е. 18 лет ещё недостаточно для того, чтобы BASIC в POSIX OS ещё не почил? :cry:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 13 апр 2017, 10:58

Olej писал(а):Уточняем
А теперь вспоминаем...

Basic! Старый добрый Бейсик…
Знаменитый Эдсгер Дейкстра (один из основоположников структурного программирования) на полном серьёзе договорился до того, что всех хоть раз попрограммировавших на Бейсике надо поганой метлой гнать от компьютеров — дескать, программистские души этих несчастных навеки погублены, и никакой пользы кроме вреда они уже никогда принести не смогут.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 13 апр 2017, 11:28

Olej писал(а):
Использую данную среду программирования на уроках информатики в соответствии УМК Угриновича.
Изучаем дальше этот ужас!...

Здесь вот можно ознакомиться с описанием, и даже на русском языке Разработка приложе ний в Gambas:
Руководство и пример выполнены в Gambas
От какого-то далёкого 2005-го года... :-?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 13 апр 2017, 11:34

Olej писал(а):
Использую данную среду программирования на уроках информатики в соответствии УМК Угриновича.
Изучаем дальше этот ужас!...
Сайт учителя информатики Аскаровой Лиры Газнавиевны
Страшный сон!!!:
Изображение Николай Дмитриевич Угринович
К.п.н., зав. лабораторией информатики Московского института открытого образования, автор учебного и программно-методического комплекса по курсу "Информатика и ИКТ" для 7 - 11 классов и ЦОР к нему.
И 3(!) здоровенных учебника, уродующих школьников от 8-го до 11-го классов! :evil:
УМК Н. Д. Угриновича – единственный в действующем Федеральном перечне учебников ориентирован на работу учащихся как в среде Windows так и в Linux. Для использования приложений в среде Linux, в УМК входит Linux-DVD, предоставленный компанией AltLinux.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Языки в обучении программированию

Непрочитанное сообщение Olej » 14 фев 2018, 23:02

Есть 3 совершенно новых языка программирования, которые я бы настоятельно рекомендовал обучающимся ремеслу программирования в качестве очень и очень удачного старта:

1. Go (2009г.): Go, Инструменты Go, cборка приложений Go, GUI на Go, Примеры кода Go

2. Swift (2015г.): Swift, Swift под Linux

3. Rust (2015г.): Rust, код на Rust

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Языки в обучении программированию

Непрочитанное сообщение Olej » 23 ноя 2023, 12:52

Вот интересно почитать в тему: Различаем C и C++-разработчиков по их коду
26.10.21 12:56
Изображение
Иногда запускаются новые проекты на той же платформе, с теми же процессами и с переиспользованием многих уже существующих компонентов, и тогда в эти проекты мы ищем программистов, с учетом вышесказанного - программистов на C++. В embedded, тем не менее, чистый C все еще очень популярен, и нередко собеседоваться на вакансию C++ Developer'а приходят именно сишники. Логика у человека простая: языки, на первый взгляд, довольно близкие и почти обратно-совместимые, базовый синтаксис одинаков, про ООП кандидат что-то слышал, и значит, основная база уже есть и он сможет легко освоить C++ за 21 день в процессе работы, поэтому можно наплести про "с C++ тоже работал", начать писать на "Си с классами" и все получится. В то время как в новой команде таких "бывших сишников" уже и так набралось несколько, и такой кандидат нам уже не подойдет, на оставшиеся позиции нужен именно опытный плюсовик-затейник, который будет активно внедрять best practices и наставлять на code review на путь истинный менее опытных коллег.
Итак, признаки того, что разработчик программирует не на C++, а на "C с классами":

Использует <stdint.h>, <string.h>, <stdio.h> вместо <cstdint>, <cstring>, <cstdio>;

Использует malloc() и free() кроме явно предназначенных для этого мест (типа кастомных аллокаторов);

Использует ручное управление памятью с new и delete, вместо RAII и умных указателей;

Использует char*-строки и функции <string.h> вместо std::string и std::string_view. (единственное исключение - строковые константы через constexpr). Использует функции из <time.h> вместо std::chrono. Использует atoi() вместо stoi(). Использует функции из <stdio.h> вместо std::filesystem и потоков ввода-вывода. Использует <pthread.h> вместо std::thread.

Когда нужно имплементировать алгоритм или контейнер независимый от типа данных, которыми он оперирует, использует #define-макросы или void*-указатели вместо темплейтов;

Для объявления констант использует #define вместо const и constexpr;

Использует C-style массивы вместо std::array;

Использует NULL вместо nullptr;

Пишет (type)something вместо static_cast<type>(something);

Использует простые указатели на функции вместо std::function;

Использует константные enum вместо enum class даже для простых перечислений;

Для функций, не изменяющих состояние объектов, не использует const при объявлении. Для конструкторов забывает explicit. Для деструкторов забывает virtual :)

При разработке в ООП-стиле, объявляет все члены класса как public;

Если вам нужно вернуть из функции несколько разных значений (например, результат работы и/или код ошибки), то одно из них возвращает через return, а другое - по указателю или по неконстантной ссылке, вместо использования std::optional, std::pair/std::tuple (особенно хорошо в паре со structured binding) или просто возврата struct;

Объявляя новую переменную с типом-структурой везде пишет struct в имени типа, или наоборот, при объявлении новой структуры пишет typedef struct вместо просто struct;

Не использует неймспейсы при структурировании кода;

Использует union вместо std::variant (кстати, для каламбура типизации использовать union тоже нельзя, он нарушает active member rule);

Пишет реализации общеиспользуемых алгоритмов (foreach, transform, find_if, sort, lower_bound, и т.д.) вручную даже если они есть в <algoritm>;

При простой итерации по элементам контейнера пишет многословные конструкции вместо range-based for. Не использует auto и using в многословных конструкциях типов;

Плюс немного дополнений из комментариев:

Использует битовые поля вместо std::bitset

Использует си-шные библиотеки на прямую без уровня абстракции над ней

В заголовочных файлах куча инклудов, которые можно было в принципе там и не писать (incomplete class)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Языки в обучении программированию

Непрочитанное сообщение Olej » 12 дек 2023, 13:33

Olej писал(а):
04 янв 2017, 16:09
по языкам программирования
Очень хороший ресурс на GITHUB Awesome Awesomeness (дословно Awesome Awesomeness переводится как "Потрясающе!" - задайте полстрочному переводчику :lol: ) - здесь ссылки ссылок на публикации по самым разным языкам программирования:
Programming Languages
Ada(Spark)
Ansible
AutoHotkey
AutoIt
C
C/C++
CMake
...
Rust
SAS
Scala
Shell
...
TypeScript
V
А также - по всем сопутствующим вопросам, относящимся к программированию :!:
Каждая ссылка (строка) в этом огромном списке ведёт на страницу, где собрана масса интересных публикаций по выбранному языку (или инструменту). Например, для языка C (выбрал для примера самый простой вариант):
Contents
AI
Benchmarking
Build Systems
Compilers
Compression
...
Game Programming
Graphics
...

... и до:
...
Regex
Serialization
Source Code Collections
Standard Libraries
...
Tools
Utilities
Web Frameworks
Windows Environments

Ответить

Вернуться в «Обучение, работа и занятость»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей