OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 25 Август, 2019 06:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Воскресенье, 19 Декабрь, 2010 18:24 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Вы рискуете стать человеком который в теории знает множество языков, но вот написать толком ни на одном из них не может.

Не в языках дело в общем то. Нужен опыт создания чего-либо. Найдите (придумайте) себе проект, задачу, которая вам была бы интересна, и делайте её. На любом подходящем языке. Если задача достаточно маленькая, то можно попробовать её на разных языках (главное чтобы это не свелось к ручной трансляции решения на первом языке к решению на остальных языках. На разных языках задача должна быть решена сообразно этим языкам. Например если просто переписать программу писанную на паскале в программу на С++, то решение получится хуже оригинала. И это не из за того что С++ плохой).

PS. Когда говорят "я выучил этот язык" часто оказывается, что человек знает язык примерно на уровне написания Hello World'a и подсчета факториала. В лучшем случае -- на уровне институтских лабораторных. На самом деле это НЕ знание языка. Это называется -- видел этот язык.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Воскресенье, 19 Декабрь, 2010 18:26 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3061
Откуда: Астрахань
Программерское дело такое - постоянно надо учиться самостоятельно, по книжкам и без препода. Чем раньше начнешь учиться самостоятельно - тем лучше. Я вот в институте изучал Фортран, ПЛ-1 и Кобол. И что? Сейчас я пишу на С++ и читаю тексты на остальных языках, которых раньше просто не было. Поэтому за популярными языками гнаться не нужно. Лучше изучать принципы, а не конкретные языки. Список - он на любом языке список.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Воскресенье, 19 Декабрь, 2010 19:47 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2355
Питон ИМХО самый легкий для изучения язык, сам спокойно выучишь за 2-3 недели основные вещи, если найдешь достойную задачу для тренировки, как выше было сказано.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Воскресенье, 19 Декабрь, 2010 19:56 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8170
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Лучше изучать принципы, а не конкретные языки. Список - он на любом языке список.
Принципы должны быть выражены. И список тоже.
Поэтому для максимальной эффективности основной язык должен быть ... Оберон :)

А все остальное сводится к тому, как выражать базовые идеи на целевом ЯП.
Самый рациональный и эффективный путь.

Так что молодой человек удачно (не слишком поздно) на КП попал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Воскресенье, 19 Декабрь, 2010 20:06 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
divan писал(а):
Питон ИМХО самый легкий для изучения язык, сам спокойно выучишь за 2-3 недели основные вещи, если найдешь достойную задачу для тренировки, как выше было сказано.

Не согласен. Базовые вещи, это что, хелло ворлд? Факториал? ;-)
Нормальной системы типов в питоне нет. Иммутабельности (а она могла бы это компенсировать) тоже нет. Питон категорически противопоказан начинающим. Продолжающим, впрочем, тоже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Понедельник, 20 Декабрь, 2010 00:06 

Зарегистрирован: Среда, 15 Декабрь, 2010 18:19
Сообщения: 6
Alexey Veselovsky писал(а):
Вы рискуете стать человеком который в теории знает множество языков, но вот написать толком ни на одном из них не может.

Не в языках дело в общем то. Нужен опыт создания чего-либо. Найдите (придумайте) себе проект, задачу, которая вам была бы интересна, и делайте её. На любом подходящем языке. Если задача достаточно маленькая, то можно попробовать её на разных языках (главное чтобы это не свелось к ручной трансляции решения на первом языке к решению на остальных языках. На разных языках задача должна быть решена сообразно этим языкам. Например если просто переписать программу писанную на паскале в программу на С++, то решение получится хуже оригинала. И это не из за того что С++ плохой).

PS. Когда говорят "я выучил этот язык" часто оказывается, что человек знает язык примерно на уровне написания Hello World'a и подсчета факториала. В лучшем случае -- на уровне институтских лабораторных. На самом деле это НЕ знание языка. Это называется -- видел этот язык.

Да, я не далеко ушел от уровня лабораторных, я и не мню себя профессионалом, но азы я знаю, и хочу развиватся, и не могу ни на чем остановится. Судя по многочисленным холиварам в интернете , хороших или плохих языков не существует вообще, выбор языка это видимо вопрос религии и рыцарского обета )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Понедельник, 20 Декабрь, 2010 00:27 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
The Wicker Man писал(а):
Да, я не далеко ушел от уровня лабораторных, я и не мню себя профессионалом, но азы я знаю, и хочу развиватся, и не могу ни на чем остановится. Судя по многочисленным холиварам в интернете , хороших или плохих языков не существует вообще, выбор языка это видимо вопрос религии и рыцарского обета )

Ну, выбор языка скорее зависит от задачи :-)
Например если нужно плотно работать с ffmpeg'ом, пайпами, и системными вещами вообще (в узком смысле, т.е. зависимых от актуальных операционных систем), то в подавляющем большенстве случаев разумным выбором будет язык понимающий сишные хедеры. Т.е. это C, ObjC, C++. Альтернатив особых нет.

А вот скажем писать какой-нибудь сервер для массового обслуживания с некой хитрой логикой (ну, например флэш (ака rtmp) сервер, http-сервер, sip, xmpp (ака джаббер)) на тех же плюсах смысла особого не имеет, ведь есть erlang.

А вот если бы передо мною стояла задача написать нечто более эффективное нежели флэш для видеоконференций через браузер, то я бы скорее всего написал бы плагин для браузера(то что загружается и ставится ровно один раз) на каком-нибудь С++ (а может и не на нем, не знаю) а вот то, что грузится непосредственно с сайта каждый раз при заходе на страничку (т.е. эти миниприложения, которые нынче на флэше), они были бы, по крайней мере в первой версии, писаны на обероне однозначно. У оберона тут есть некоторые плюсы перед всем остальным:
1) Легко сделать его подмножество которое будет достаточно безопасно.
2) Легко написать его компилятор.
3) Легко написать мгновенно компилирующий компилятор.
4) Статическая типизация => меньше ошибок.
5) Поскольку компиляция быстрая, компилировать можно под целевую платформу, т.е. в нативный код. Причем это можно делать как на серверной стороне, так и на клиентской.

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

Да, а флэш сейчас недостаточно гибок для наших задачь, увы. Причем упирается всё в производительность по большей части (теоретически то реализовать всё что нужно можно, но это будет абсолютно не приемлемо по скорости). А альтернатив нет.

PS. Сильверлайт и JavaFX не альтернативы. Они существенно хуже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Понедельник, 20 Декабрь, 2010 00:50 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8170
Откуда: Троицк, Москва
The Wicker Man писал(а):
Да, я не далеко ушел от уровня лабораторных, я и не мню себя профессионалом, но азы я знаю, и хочу развиватся, и не могу ни на чем остановится. Судя по многочисленным холиварам в интернете , хороших или плохих языков не существует вообще, выбор языка это видимо вопрос религии и рыцарского обета )
Нет, не регилии.

Главная причина холиваров -- эмоциональная привязанность к первому ЯП, с помощью которого впервые было получено основание для распальцовки типа "профессионального программиста".
Хороших языков очень мало (Оберон с вариантами, плюс какой-нить ФЯ для расширения кругозора), поэтому адептам хреновых языков договориться невозможно.

Непонятно, что значит "знаю азы". Схема линейного поиска? Цикл Дейкстры? ...

Хотите развиваться -- неплохой способ взять "Алгоритмы и структуры данных" и проработать (может, не стоит сразу сильно углубляться в сортировки последовательностей и деревья, но начало посмотреть, т.е. сначала посмотреть начало каждой главы, потом уже рыть темы глубже).

Потом можно попытаться разобраться с устройством Блэкбокса, проверяя по Гамме и др. где какой паттерн. Например, взять модуль Files и понять его устройство и смысл. Сам Блэкбокс -- уникальное наглядное пособие.

Если при этом возиться с какими-нибудь конкретными проектиками, то здорово. Возьмите тут где-то свежий модулек, позволяющий скачивать http, -- и сразу масса небольших, но реальных задач: скачать файл и перекодировать его; найти в нем какие-то гиперссылки (скажем, на youtube) и сохранить их в виде списка в новом документе (у конкретных сайтов формат документов стандартизован).
И т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Понедельник, 20 Декабрь, 2010 00:53 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8170
Откуда: Троицк, Москва
Alexey Veselovsky писал(а):
если нужно плотно работать с ffmpeg'ом, пайпами, и системными вещами вообще (в узком смысле, т.е. зависимых от актуальных операционных систем), то в подавляющем большенстве случаев разумным выбором будет язык понимающий сишные хедеры.
Не соглашусь. Сделать псевдомодули для хедеров -- не ахти какая задача. И неплохое упражнение для начинающих. Даже где-то обязательное. Затраты на это быстро окупаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Понедельник, 20 Декабрь, 2010 01:07 

Зарегистрирован: Вторник, 25 Апрель, 2006 16:21
Сообщения: 2180
Откуда: Нижний Новгород
Info21 писал(а):
Alexey Veselovsky писал(а):
если нужно плотно работать с ffmpeg'ом, пайпами, и системными вещами вообще (в узком смысле, т.е. зависимых от актуальных операционных систем), то в подавляющем большенстве случаев разумным выбором будет язык понимающий сишные хедеры.
Не соглашусь. Сделать псевдомодули для хедеров -- не ахти какая задача. И неплохое упражнение для начинающих. Даже где-то обязательное. Затраты на это быстро окупаются.

Упражнение безусловно неплохое и полезное, только вот в результате имеем затраты на поддержание этих биндингов в актуальном состоянии + на баги библиотеки и кода её использующей накладываются баги этой прослойки. Отладка опять таки сложнее.

Кроме того, возьмём позикс. Его например константы определены не числами, но сишными символами. При этом этот символ может быть функцией, может быть числом. Чилом при этом может быть разным. Например после обновления системы это число может легко поменяться. А может поменяться на функцию. В результате программа, использующая эти псевдомодули/биндинги станет не корректной. Короче, ну нафиг.

Тут ещё безусловно нужно учитывать "отношение поверхности программы к её объему", т.е. чем у программы это отношение больше, тем больше играет роль то что я сказал, и наоборот: чем меньше, тем больше правы вы. (на всякий случай поясню -- "площадь", это объем используемых системных, внешних, сишных библиотек, с этим хорошо кореллирует размер кода для биндингов который придется написать. "объем" -- это собственно код логики самой программы который мы пишем).

У меня много задач где это отношение достаточно велико. Настолько, что всякие явы, шарпы, фрипаскали, ады и прочие языки имеющие уже множество готовых поддерживаемых биндингов, а также собственных библиотек самого различного назначения, не подходят.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите пожалуйста освоится
СообщениеДобавлено: Суббота, 24 Декабрь, 2011 09:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8170
Откуда: Троицк, Москва
Кстати, модераторы забыли тут выписать по паре батогов Веселовскому с Ильиным за приставания к юношам.

А молодой человек ценные замечания потрудился сделать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 29 Декабрь, 2011 08:57 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Сообщение jackbauer и ответ igor удалены в архив. Первое --- согласно п. 5.7 правил.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB