Меня спрашивают: «Какой язык программирования лучше всех?» Считаю, что тот, на котором написан самый важный софт.
А они написаны на C++, который разработан Бьерном Стаустрапом в Bell Labs.
Применяется лидерами ИТ-индустрии. В их числе Google, Microsoft и IBM. Кроссплатформенный, объектно-ориентированный, гибкий. При правильной оптимизации приложения, написанные на нем, работают быстро.
На нем пишут операционные системы, приложения и инструменты электронного бизнеса. В том числе, а не исключительно, разумеется.
Его использовали для создания программных продуктов, без которых пользователи не могут обходиться. Зачастую ни дня, хотя альтеративы есть.
Microsoft Office
Комплекс программ для создания и редактирования форматировнных текстов, электронных таблиц и баз данных. Входит софт для управления электронной перепиской и заметками.
Исходно писали на ассемблере, перешли на C, после — на C++.
Фотошоп
Профессиональный графический редактор, который разрабатывает Adobe. Большая часть кода написана на C++, как и другие продукты компании.
Какую игру можно написать на BASIC
В их числе ImageReady. Предназначен для создания анимированных «гифок», которыми пользователи радуют друг друга в соцсетах и мессенджерах.
С помощью Illustrator редактируют векторную графику. С Premiere — видео. Инструмент After Effect известен каждому, кто работает с анимацией и визуальными эффектами. InDesign применяют в издательских макетах.
Преимущественно на нем написали ОС Windows. Зачем и как часто ее используют — не нужно уточнять.
Вернусь в прошлое и вспомню, что он — язык кода операционной системы Blackberry. Эпоха кнопочных смартфонов в прошлом, но именно эти устройства подготовили почву для того, чтобы умные телефоны стали полезными устройствами.
WinRAR — архиватор, который используют до сих пор. Дизайн далек от актуального в 2021, но пользователям нравится. Когда-то был едва ли не единственным мощным средством создания и распаковки архивов. В те времена, когда интернет был медленным, без него было бы трудно.
Один из языков, который использовался при разработке всех популярных браузеров. И Internet Explorer и Safari и Chrome и Firefox.
Использовался при создании большинства игровых движков, поскольку дает возможность более тонкого контроля над оборудованием. Выделю:
- Blender.
- 4A Engine.
- Adventure Game.
- Anura.
- BuildBox.
- CryEngine.
- Godot.
- GamePlayer3D.
- DX Studio.
Источник: dzen.ru
Какую полезную программу можно написать
хех) Алерон. Я занимаюсь разработкой программ для практического применения, и моя последняя программа так и называетьс Aleron. может это знак?) Моя программка удаляет различные баннеры с рабочего стола (типо порно баннеров что бы снять которые нужно отправить СМС)
Какую программу написать первой
В планах порабощение вселенной.
Регистрация: 28.01.2009
Сообщений: 20,999
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Участник клуба
Регистрация: 11.06.2008
Сообщений: 1,143
Предлагаю темы.
Интернет-опросник — тут уже запускали пару-тройку опросов и все в форме форума — не удобно. А вот программу написать, да еще с шифрованием данных и статистикой и предложить различные формы и виды опроса, чтобы опрашиваемый не занудился полсе 10го вопроса в текстовой форме. Это дело. Дальше — все в руках интернет и вашей фантазии. Интернет — в поиск.
Фантазия — в реализацию.
Практическая программа другого порядка — Учет работы любой группы людей. Классические данные
— кто работает, где работает. когда заступил на работу. Кто послал, на основании какого документа, на сколько послал. а имел ли право. а кто ему это право дал. а кто руководит работами, а кто отвечает за безопасность, а кто фиксирует все это дело, а сколько времени займет путь от места посыла до места работы, а сколько за это получит работник. и . т.п. и т.д.
Классическая задача для многих предприятий — работа бригад. — проводники, дальнобойщики, монтеры различные. газовики.
Каждый решает ее по своему — решите и вы.
Думаю пока хватит. Чем глубже копать эти задачи. тем интересне..
ЛАдно поделюсь еще одной
Задача расписания — есть люди, типа бригады проводников. есть поезда, есть график работы, есть тарифы оплаты времени работы ну и еще разные условия. типа внеплановая задержка поезда. болезни, отгулы, уволнения.
Задача — спланировать работы бригады проводников на месяц, с учетом того, что каждый день возможны изменения в планах. При этом планы прошлого дня считаются фиксированными и изменению задним числом не подлежат.
Вот уж задача из задач. Люди ее на бумажке решают. ГЫ. я пытался решить и увяз в условиях и . отсутствии мотивации (в смысле — сделаю, а кто заплатит. ).
и это пройдет.
Источник: www.programmersforum.ru
Идеи проектов для начинающих программистов. Часть 1
Перевод первой части статьи «Starter Project Ideas for Developers».
Представляем вам список проектов для начинающих разработчиков. Хотя конечно, этими проектами вполне могут заняться и опытные программисты, осваивающие новый для себя язык.
Каждая идея в нашем списке будет сопровождаться подробным описанием, примерами и советами. Отталкиваясь от всего этого, вы сможете создать свой собственный, уникальный проект.
Примеры в статье будут ориентированы больше на JavaScript-разработчиков, но сами идеи вполне пригодны для любого языка программирования.
Засучиваем рукава
Изучаем основы программирования с фокусом на создание, чтение, модификацию и удаление данных (CRUD).
Генератор имен
Придумывать имена сложно. Кажется, что в наше время все варианты username уже использованы. Почему бы не сделать так, чтобы вместо нас имена генерировал компьютер? Идея такого генератора очень проста. Вам потребуются лишь базовые знания языка программирования.
Для начала, следует определиться с тем, какого рода имена вы хотите генерировать (username, имена фантастических героев, персонажей книг или обычные имена). Также нужно придумать, из каких частей будут составляться эти имена.
// Types of names examples: [honorific/title] [name] of [location] Duke William of Cornwall President Wilson of Canada [name] of [location] Solaire of Astora [name] the [object noun] [title noun] Kyle the Chicken Slayer [name] the [adjective] [username or some combination of words][1-4 numbers] SomeName1234 ChickenBob28 // etc, you get the idea
После того как придумаете, что за имена будет генерировать ваша программа, нужно обдумать, как вы будете хранить данные (имена собственные, имена существительные и прилагательные, титулы и т. п.).
Все это можно прописать жестко и хранить в файловой системе, используя CSV или текстовый файл. Можно извлекать из API. Можно хранить в базе данных. Если вы начинающий программист, изучите, какие структуры данных поддерживает ваш язык (объекты, списки, массивы, hashmap) и поэкспериментируйте с ними.
Финальный шаг — рандомный выбор ключевых слов из ваших данных, комбинирование их каким-то заранее прописанным образом и вывод результата. Причем выводить результат можно в консоли, в браузере, в графическом интерфейсе или вообще записывать в текстовый файл.
В чем смысл такого проекта
Это более продвинутый проект, чем hello world, но попроще или равный по сложности списку задач. То есть, это хороший проект для начинающих.
Занимаясь этим проектом, вы будете осваивать:
- основы языка программирования;
- простые структуры данных;
- чтение данных и рандомный выбор их частей;
- вывод данных.
Как можно усложнить проект
- Генерируйте выбранные случайным образом названия объектов и выводите на экран изображения этих объектов. Это может быть полезным инструментом для людей, связанных с искусством.
- Генерируйте имена персонажей игр или названия объектов с приложением их мини-историй.
- Генерируйте темы для писателей.
- Добавьте возможность ввода данных пользователем. Это может быть список слов, из которых будет делаться выборка, или имя пользователя, которое будет использоваться в качестве основы для производных имен.
Примеры:
- Name Generator — генерирует названия блюд, блогов, имена пользователей, просто имена людей и т. д.
- Fantasy Name Generator — фэнтезийные имена для игр и пр.
- Random Things — выводит изображения случайных объектов.
(От редакции. Как часто вам случалось в соцсетях читать комментарии типа «лучше бы ямы залатали», «лучше бы дороги отремонтировали», «лучше бы на детей внимание обратили»? Можно создать специальный «лучшебыгенератор», случайным образом выдающий «лучше бы» предложение. Реализация — веб-страница. Применение — отвечать советчикам в комментариях, давая ссылку на страницу.
Пример можно посмотреть здесь).
Список кодов символов
Список эмодзи или других специальных символов для копипаста. Общую идею можно реализовать в совершенно разных приложениях. Например, это может быть справочник, а может — приложение, которое будет конвертировать в код введенный пользователем текст.
В чем смысл такого проекта
Этот проект — хорошая отправная точка, если вы хотите научиться принимать пользовательские данные, обрабатывать их и выводить результат.
Занимаясь этим проектом, вы будете осваивать:
- работу с текстом и кодами символов;
- пользовательский input;
- текстовый output.
Как можно усложнить проект
- Генерируйте рандомный список эмодзи.
- Реализуйте шифратор и конвертируйте с его помощью текст в эмодзи.
- Реализуйте эту идею в виде десктопного или веб-приложения.
Примеры:
- Mojibar — приложение-справочник по эмодзи.
- Text to ASCII — конвертирует текст в код ASCII.
Конвертер текста и чисел
Конвертирует числа в двоичную или любую другую систему счисления, а текст видоизменяет (шифрует, переворачивает и т. п.).
В чем смысл такого проекта
Вы не только создадите полезный инструмент, но и научитесь работать с числами и текстом.
Занимаясь этим проектом, вы будете осваивать:
- input, output;
- работу с текстом и числами.
Как можно усложнить проект
- Разрешите пользователю загружать или выбирать текстовый файл, который затем будет конвертироваться и выводиться в виде нового файла.
- Реализуйте собственный шифратор (не забудьте добавить методы для дешифровки!).
- Используйте GUI или веб-интерфейс с полем для ввода текста и полем, где будет показываться видоизмененный текст. Конвертируйте input по мере ввода.
Примеры:
- Шифр Цезаря — простая техника шифрования со сдвигом букв алфавита.
- Текст в двоичный код.
- Перевод десятичных чисел в шестнадцатеричные.
- Переворачивание текста
Список задач и альтернативные полнофункциональные приложения
Наконец, список задач — идея, за которой вы все сюда и пришли. Шутка:) Но список задач, пожалуй, действительно один из самых распространенных видов проектов, так что без него наша статья была бы неполной. Впрочем, мы все же постараемся добавить несколько интересных альтернатив.
В чем смысл такого проекта
Создание списка задач — отличный способ изучить работу с данными (CRUD), какой-то язык или фреймворк.
Например, вы изучаете JavaScript. Вы можете построить список задач для применения в браузере, используя DOM браузера и LocalStorage APIs. Затем вы создаете API списка задач в бэкенде, используя NodeJS, чтобы изучить, как работает REST API. Наконец, вы обращаетесь к десктопу и создаете еще один список задач, используя Electron — чтобы изучить работу десктопных приложений.
Еще один вариант прокачать свои навыки, связанные с CRUD, — использовать разные языки программирования. Вот вы создали все варианты списков задач на JavaScript. А теперь создайте какой-нибудь из них на C#, Java или Haskell и посмотрите, насколько будут отличаться процесс и результаты. Это поможет вам получить хорошее представление о языках.
Занимаясь этим проектом, вы:
- изучите создание, чтение, модификацию и удаление данных (а это основа любого приложения);
- получите хорошее представление о языке или каком-то инструменте.
Как можно усложнить проект
- Геймифицировать.
- Интегрировать с другими приложениями.
- Построить приложение на разных платформах (мобильное, десктопное, веб-приложение).
- Добавить напоминания в виде электронных писем или SMS.
Альтернативные варианты приложений для отработки навыков CRUD
- трекер упражнений;
- журнал;
- блог, форум (вроде Reddit);
- приложение для онлайн-банкинга (создание аккаунта, обновление счета и т. п.);
- текстовый редактор;
- приложение для планирования (календарь, kanban-доска);
- трекер привычек.
Примеры:
- Flowdash
- Todoist
- Habitica — геймифицированный список задач и трекер привычек.
Секундомер и таймер
Таймер может быть как простым, так и довольно сложным и интересным.
В чем смысл такого проекта
Это полезное приложение, которое вы в конечном итоге сможете использовать (или заново реализовать) в каком-то другом проекте.
Занимаясь этим проектом, вы будете осваивать:
- работу с датами и временем;
- особенности написания кода для постановки приложения на паузу и возобновления его работы;
- отображение и постоянное обновление значений.
Как можно усложнить проект
- Создайте какой-то специфический таймер, например, для применения «приема помидора».
- Проигрывайте музыку или отсылайте уведомление при включении таймера.
- Сделайте так, чтобы ваш таймер работал на разных платформах (десктопная, мобильная и веб-версии).
- Интегрируйте таймер в другое приложение.
Примеры:
- TomatoTimer — Pomodoro-таймер
- LiveSplit — таймер для скоростного прохождения игры
- Timecamp — приложение для отслеживания времени
В следующей части статьи мы рассмотрим идеи более сложных приложений. Больше никаких списков задач!
Источник: techrocks.ru