Войти
ПрограммированиеФорумОбщее

Подучиться программированию (7 стр)

Страницы: 16 7 8 915 Следующая »
#90
16:05, 25 мая 2018

Dampire
Это как реклама правой и левой палочки:
- Сдается мне, джентльмены, что ваша дама давно ушла.


#91
16:05, 25 мая 2018

Я надеюсь, мы все здесь понимаем, что навык программиста номер ноль - это алгоритмизация? Умение переходить от "хочу" к "как добиться". Сколько бы языков человек не выучил, сколько бы инструкций x86 он не запомнил, без алгоритмизации человек - не программист, а бесполезный кусок мяса. Может, кто-нибудь оспорит? Найдёт какой-нибудь ещё более важный навык?
Я ещё, я надеюсь, мы все понимаем, что алгоритмизация не закладывается при рождении. Это навык, который нужно прокачивать регулярными тренировкам. Чем больше алгоритмов реализовал и отладил - тем больше опыта получил. Следовательно, чем больше алгоритмов программист реализует за день - тем лучше. Верно? Или у кого-то есть контраргументы против этого утверждения?
Возможности человеческого мозга не безграничны. Существует определённый предел на количество информации, которое человек способен усвоить за раз. Следовательно, чем больше информации требуется усвоить - тем больше времени и усилий человек потратит на процесс усвоения. И здесь у вас есть, что возразить? Может, у кого-нибудь даже найдутся проверенные временем научные статьи от именитых психологов?
Давайте посчитаем, сколько информации требуется держать в голове, чтобы написать один алгоритм на Пайтоне:
- принципы алгоритмизации,
- синтаксис Пайтона.
А теперь давайте посчитаем, сколько информации нужно для хоть сколько-нибудь нетривиального алгоритма на Си:
- принципы алгоритмизации,
- синтаксис Си,
- поведение абстрактной машины Си - без него нарвёшься на UB,
- принципы работы тулчейна - без них будет нечего запускать,
- принципы работы с памятью - иначе полезут мёртвые ссылки и утечки... что? умные указатели? они только автоматизируют некоторые действия, при условии, что человек понимает - что именно и как автоматизируется,
- ещё куча всякого барахла.
И нет, я не забыл про абстрактную машину Пайтона. Её знать не нужно, потому что если ты накосячишь - это сразу будет видно. А если вдруг возникли вопросы по тонкостям - можно за несколько секунд составить тестовую программу и проверить методом тыка. Хрена с два ты так что-то проверишь на плюсах.
Поэтому на плюсах, вместо того, чтобы учиться базовым навыкам, человек будет нагружать себя второстепенным балластом.
...А, ну конечно, не будет он ничего нагружать, он просто скопирует пример со Стека и в итоге так ничему и не научится, и ничего у него не будет работать. Офигенный экспириенс.

#92
16:06, 25 мая 2018

gudleifr
>
> Это позволяет и язык ассемблера.
Ну это даст плюса и будет проще для новичков?

#93
16:06, 25 мая 2018

Delfigamer
>
> - принципы алгоритмизации,
> - синтаксис Пайтона.
Добавь ещё библиотеки python и отсутствия мотивации для изучение алгоритмов

#94
16:10, 25 мая 2018

FlyOfFly
> > Это позволяет и язык ассемблера.
> Ну это даст плюса и будет проще для новичков?

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

Delfigamer
> абстрактную машину Пайтона. Её знать не нужно, потому что если ты накосячишь -
> это сразу будет видно.

Уже показали, что нет. Пайтон прекрасно запускает то, что в С/С++ даже не скомпилируется.

#95
16:12, 25 мая 2018

FlyOfFly
> Добавь ещё библиотеки python и отсутствия мотивации для изучение алгоритмов
Так это же хорошо. Не нужно проектировать велосипед, чтобы сгонять в магаз за сникерсом.
А без алгоритмизации, хоть с библиотеками, хоть с Стаком, хотя бы немного нетривиальная программа всё равно не родится.

gudleifr
> А, впрочем, тема достаточно хорошо характеризует уровень кодеров, ставящих
> успешность изучения программирования в зависимость от языка.
Конечно. Ассемблер тебе примером.
Или ты думаешь, что все языки, кроме ассемблера - одинаковые?

0iStalker
> Уже показали, что нет. Пайтон прекрасно запускает то, что в С/С++ даже не
> скомпилируется.

Traceback (most recent call last):
  File "python", line 12, in <module>
  File "python", line 8, in b
AttributeError: 'A' object has no attribute 'myColVar'
Классно запущено. Всегда б так запускал, ага.
#96
16:18, 25 мая 2018

FlyOfFly
> Ну это даст плюса
Плюса даст изучение математики с одной стороны и скорейший выход на цикл на своем компьютере:

Изображение

FlyOfFly
> и будет проще для новичков?
ИзображениеТЕМА #35Изображение
Особенно обратите там внимание на ISZELION'S WIN32 ASM TUTORIAL .

Delfigamer
> Или ты думаешь, что все языки, кроме ассемблера - одинаковые?
Нет:

Изображение
#97
16:21, 25 мая 2018

Delfigamer
> Traceback (most recent call last):
> File "python", line 12, in <module>
> File "python", line 8, in b
> AttributeError: 'A' object has no attribute 'myColVar'
> Классно запущено. Всегда б так запускал, ага.
>

Python 3.6.1 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
 
init
Traceback (most recent call last):
  File "python", line 12, in <module>
  File "python", line 8, in b
AttributeError: 'A' object has no attribute 'myColVar'


Не ври, - это сообщение времени исполнения, а не компиляции и до него он отлично печатает  init  из конструктора A

Если не понимаешь, в чём прикол, попробуй вот так

class A:
  def __init__(self):
    self.myCoolVar = 10
    print("init")
    print("successfully compiled")
    print("lol")
    print("")


  def b(self):   
    n = self.myColVar
    print("myCoolVar="+n)

aa = A()
aa.b()

#98
16:23, 25 мая 2018

FlyOfFly
> 1. Зная C++ легче перейти на C# и на Java
> 2. C++ позволяет писать в процедурном стиле, что опять же проще для тех кто только осваивает программирование
> 3. C++ имеет самый большой набор обучающих материалов
А ничего, что учиться программировать на С++ человек будет на несколько лет дольше, чем на С# или Java? При том, что не факт, что ему этот C++ вообще нужен.
Да, если он хочет стать профессионалом-программистом, С++ ему более чем полезен, но прикладным программистам то он зачем? Да и профессионалу лучше бы начинать не с него, хотя бы для того, чтобы не потерять мотивацию ненароком, уткнувшись по молодости в слишком сложное.

Но если совсем нос не совать в сложности, есть все шансы так лопухом и остаться. Множество C# и Java-программистов в принципе не могут освоить С++. Когда пытаются - просто ужас какой-то, волосы дыбом встают от того, что творят в коде. И не видят никакого криминала в упор при этом. Избалованы комфортными языками, привыкли к нянькам.

#99
16:24, 25 мая 2018

Delfigamer
> А без алгоритмизации, хоть с библиотеками, хоть с Стаком, хотя бы немного
> нетривиальная программа всё равно не родится.
А как же декларативные ЯП?

По-моему самый важный скилл - уметь с помощью элементарных выражений, средств комбинирования и средств абстракции решать задачи.
Причем нужно понимать, что это не всегда означает уметь писать алгоритмы ;)
#100
16:25, 25 мая 2018

Zab
> но прикладным программистам то он [С++] зачем?

Дык,

FlyOfFly
> > 3. C++ имеет самый большой набор обучающих материалов

т.е. настоящий крестовик завсегда верит, что его задача уже кем-то решена.

Что то же самое:

Zegalur
> самый важный скилл - уметь с помощью элементарных выражений, средств
> комбинирования и средств абстракции решать задачи

#101
16:31, 25 мая 2018

gudleifr
>
> т.е. настоящий крестовик завсегда верит, что его задача уже кем-то решена.
Я же не про обучающие материалы "напишем тетрис за 2 дня", а про нормальные

#102
16:31, 25 мая 2018

gudleifr
> Что то же самое:
Нет.

#103
16:33, 25 мая 2018

FlyOfFly
> а про нормальные
Которые немножко проще тетриса, но в силу "комбинирования парадигм" вырастают в суперпроекты.

#104
16:33, 25 мая 2018

У рекламируемого тут питона, кстати, тоже есть очень серьезный недостаток - системные библиотеки, формат которых - калька с сишных юниксовых. Оно конечно очень удобно для сишных программистов, но скриптизеры на то и скриптизеры, чтобы C/C++ не владеть. А без отсылки к сишным традициям, формат вызовов должен выглядеть как бред какой-то.
С Яваскриптом все аналогично.

Страницы: 16 7 8 915 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.

Тема закрыта.