Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№122602-03-2013 22:09:53

krigstask
друг народа
 
Группа: Members
Откуда: Rampova, Inkerimaa
Зарегистрирован: 13-09-2005
Сообщений: 4593
UA: Opera 12.1
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

Я на таких "уроках" подыхал от скуки. В Винде давно все в ГУЕ, а меня консольным Паскалем пичкают.

Да-а-а, вот кнопочки таскать на формам — это программирование, а что ваши поиски, сортировки и прочие деревья? Прошлый век!


Ядрёная консоль делает меня сильней!

Отсутствует

 

№122702-03-2013 22:21:27

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 21.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

krigstask пишет

Да-а-а, вот кнопочки таскать на формам — это программирование, а что ваши поиски, сортировки и прочие деревья? Прошлый век!

Ну как сказать - перейти из консольной самоменюшки к форме нетрудно, день изучения + немного практики. А начинать с консоли конечно нужно.
Куда круче ракеты по НЛО пускать))) так мы изучали анимацию в паскале) :lol:


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№122802-03-2013 22:28:14

X Strange
Участник
 
Группа: Members
Зарегистрирован: 21-02-2010
Сообщений: 103
UA: Opera 12.1

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

Я на таких "уроках" подыхал от скуки. В Винде давно все в ГУЕ, а меня консольным Паскалем пичкают.

Смущает то, что консольным или то, что паскалем?

ladserg пишет

А потом удивляемся, на кой драйверам для принтера нужен GUI :-/

А также почему GUI во многих программах так криво работает. :)

Добавлено 02-03-2013 22:29:22

X Strange пишет

А начинать с консоли конечно нужно.

+1

Выделить код

Код:

#include <stdio.h>

int main ()
{
  printf ("Hello, World!\n");
  return 0;
}

Отредактировано X Strange (02-03-2013 22:29:47)


# rm -rf /

Отсутствует

 

№122902-03-2013 23:12:43

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

Вообще у вас сейчас все в кучу смешалось.
Начинать нужно с быстрых и полезных результатов. Java/C# - хороши для школьного обучения. Кому интересно делать что-то, от чего пользы никакой? А вот прога для Андройда или функциональный калькулятор под с парсером строки - это намного интересней ваших быдлоконсолей БД с "Ваше имя и возраст:".

В обучении программированию главное: четко поставленная задача (Пусть даже сначала недостижимая при начальных знаниях!).

Я стал программистом, потому что еще в школьные годы пришлось мне для мамы составить специальную БД и с возможностью печати документов. Знаний тогда было мало, но по мере реализации я на практике узнал многие возможности реализации из форумов, доков и т.п. Да, я тогда набыдлокодил по-страшному, но версию 2.0 через два года я уже создал нормальную, за которую мне уже предприятие заплатило.

А вы тут о каких-то никому на практике ненужных алгоритмах, потому что все уже реализовано профи в либах. Вот так и появляются любители велосипедов.

Да и спорить тут на эту тему не с кем, потому что реальных программистов нет. Тема 32bit vs 64bit лишний раз доказывает это...

Отредактировано Keepun (02-03-2013 23:17:35)


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№123002-03-2013 23:20:04

ladserg
Обещал вернуться...
 
Группа: Members
Откуда: Russia
Зарегистрирован: 10-03-2005
Сообщений: 1977
UA: Firefox 19.0

Re: Linux, Windows, Mac OS X - IX

Keepun
Для русских школьников всегда самым лучшим ЯП для изучения был язык программирования Ершова. А что касаемо ненужных алгоритмов,  я думаю вывод поспешен. Не смотря на всякие супер и пупер профи библиотеки, понимание алгоритмов и знания в целом всё же решают.


Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).

Отсутствует

 

№123102-03-2013 23:32:57

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

ladserg пишет

Для русских школьников всегда самым лучшим ЯП для изучения был язык программирования Ершова.

Может еще и 1С прилепишь? Вот так и губят интерес к программированию.
Меня язык Паскаль так забесил, что узнав про С-синтаксис я забыл его как страшный сон! Два года жизни меня этим бредом пичкали... мда...

ladserg пишет

понимание алгоритмов и знания в целом всё же решают.

Чего они там решают? Ты устройство мобильника изучал или сразу им пользоваться начал?


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№123202-03-2013 23:35:19

sentaus
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 759
UA: Rekonq 2.1

Re: Linux, Windows, Mac OS X - IX

А вы тут о каких-то никому на практике ненужных алгоритмах, потому что все уже реализовано профи в либах.

Тут есть маленькиое но.
Чтобы грамотно эти самые либы использовать, необходимо  немного представлять, что там "под капотом" происходит. Хотя бы словосочетание "ассимптотическая оценка" должно вызывать некоторое замыкание в нейронах.  А то иначе в коде будет наблюдаться сон разума. Да и проблемы с производительностью решать такие программисты в большинстве случаев не могут.

Отсутствует

 

№123302-03-2013 23:36:42

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

А для подсчета MD5 мне тоже обязательно алгоритм его знать?


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№123402-03-2013 23:38:00

sentaus
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 759
UA: Rekonq 2.1

Re: Linux, Windows, Mac OS X - IX

Ты устройство мобильника изучал или сразу им пользоваться начал?

Achtung!!! Демагогия с подменой понятий пользователь-инженер детектед. :)

Добавлено 02-03-2013 23:41:31

А для подсчета MD5 мне тоже обязательно алгоритм его знать?

Нет. Но надо знать общие сведения о хэш-функциях, как их надо применять, как не надо. Нужно обязательно знать некоторые уязвимости MD5-подобных хэш-функций, связанных с padding и вставкой поддельных данных после подлинных, это может быть критично в ряде случаев. Последнее лучше действительно разобрать с поверхностным анализом алгоритма.

Отредактировано sentaus (02-03-2013 23:42:42)

Отсутствует

 

№123502-03-2013 23:48:06

ladserg
Обещал вернуться...
 
Группа: Members
Откуда: Russia
Зарегистрирован: 10-03-2005
Сообщений: 1977
UA: Firefox 19.0

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

Может еще и 1С прилепишь? Вот так и губят интерес к программированию.

Ну если такой умный, то чего не напишешь альтернативу? Как бы то ни было 1С пока вельми распространена, в пику твоему авторитетному мнению.

Keepun пишет

Меня язык Паскаль так забесил, что узнав про С-синтаксис я забыл его как страшный сон! Два года жизни меня этим бредом пичкали... мда...

Мне грустно читать, что в школе тебя не пичкали знаниями в виде информатики, теории информации и основ алгоритмизации. Да ещё и два года. Чего там два года то делать, я его за три дня усвоил, когда понадобилось. А ты два года возился. Хм, мельчет поколение :(

Паяльник тоже можно всунуть в руки и отправить на передовую, не объяснив даже что такое ПОС.

Keepun пишет

Чего они там решают? Ты устройство мобильника изучал или сразу им пользоваться начал?

Так ты не создаешь программы оказывается, а пользуешься. Хм, раньше у нас программистами звали иных людей :/

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


Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).

Отсутствует

 

№123602-03-2013 23:59:42

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

ladserg пишет

Чего там два года то делать, я его за три дня усвоил, когда понадобилось. А ты два года возился.

И какой учитель тебе 2-х летнию программу обучения за три дня выдаст? Это же его хлеб вообще-то.

Я VB за ночь выучил, чтобы только макросы в дипломку добавить :lol:

ladserg пишет

Так ты не создаешь программы оказывается, а пользуешься.

Да нет. Я создаю нейронную сеть на готовых либах, а не переизобретаю алгоритм сортировки.


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№123703-03-2013 00:06:49

sentaus
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 759
UA: Rekonq 2.1

Re: Linux, Windows, Mac OS X - IX

а не переизобретаю алгоритм сортировки.

Его не нужно изобретать. А вот знать, что тот же quicksort вдруг ВНЕЗАПНО может дико затормозиться, нужно. Ну и понимать, в каких случаях это может быть.

Отсутствует

 

№123803-03-2013 00:06:54

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

Еще Страуструп в своих книгах учит проектировать класс так, чтобы у последователей не возникала даже необходимость в изучении исходного кода, который может быть не доступен, при использовании этого класса.

Добавлено 03-03-2013 00:09:39

sentaus пишет

А вот знать, что тот же quicksort вдруг ВНЕЗАПНО может дико затормозиться, нужно. Ну и понимать, в каких случаях это может быть.

Это нужно знать создателю этого кода, а юзер только вызовет Array.Sort()

Отредактировано Keepun (03-03-2013 00:11:49)


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№123903-03-2013 00:14:25

X Strange
Участник
 
Группа: Members
Зарегистрирован: 21-02-2010
Сообщений: 103
UA: Opera 12.1

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

А вы тут о каких-то никому на практике ненужных алгоритмах, потому что все уже реализовано профи в либах.

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

Keepun пишет

Вот так и появляются любители велосипедов.

Да, есть момент. Это, скорее всего, связано с тем, что многие программисты просто не знают о существующих реализациях. Однако Вы же не станете утверждать, что пользователю велосипеда не нужно представлять себе базовый принцип его работы.

Keepun пишет

Да и спорить тут на эту тему не с кем, потому что реальных программистов нет.

Что значит реальных? Вы, например, "реальный" программист или притворяетесь? :)

Keepun пишет

Чего они там решают? Ты устройство мобильника изучал или сразу им пользоваться начал?

Устройство мобильника я не изучал, однако представляю себе, что у него есть микрофон, динамик, радиоприёмник/передатчик для связи с сетью, аккумулятор, SIM-карта, и т.д. Конечно, не зная этого можно пользоваться мобильником. Можно даже не знать, что у каждого мобильника есть номер, и пользоваться только заранее настроенной встроенной записной книжкой :) Однако возможности будут ограничены.
Точно так же и в программировании. Например, пользователь библиотеки MFC или Qt может не задумываться о сообщениях Windows/ event'ах X11 и цикле их обработки. Однако это может привести к не очень хорошим результатам, а именно, зависанию программы в результате долгой работы обработчика сообщения.
Чтобы не написать добавление элемента в начало std::vector в цикле, получив при этом квадратичную трудоёмкость алгоритма вместо линейной, нужно знать, как устроен std::vector и понимать, как реализовать его самостоятельно.
Чтобы понимать, что делает тот или иной алгоритм, а чего он не может делать, нужно понимать их принцип работы. И так везде.


# rm -rf /

Отсутствует

 

№124003-03-2013 00:16:50

sentaus
Участник
 
Группа: Members
Зарегистрирован: 03-06-2005
Сообщений: 759
UA: Rekonq 2.1

Re: Linux, Windows, Mac OS X - IX

юзер только вызовет Array.Sort()

Этот метод использует алгоритм QuickSort.В этой реализации осуществляется нестрогая сортировка; это значит, что если два элемента равны, их порядок может не сохраниться.Напротив, при строгой сортировке сохраняется порядок равных элементов.
В среднем этот метод является операцией O(n log n), где n равно значению свойства Length массива array; в худшем случае он является операцией O(n ^ 2).

Т.е. крайним по методу Keepun-а в случае применения решений майкрософта оказывается пользователь. Беда, беда.

Отредактировано sentaus (03-03-2013 00:18:43)

Отсутствует

 

№124103-03-2013 00:20:51

X Strange
Участник
 
Группа: Members
Зарегистрирован: 21-02-2010
Сообщений: 103
UA: Opera 12.1

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

Это нужно знать создателю этого кода, а юзер только вызовет Array.Sort()

Юзер, прочитав в документации, что используется quicksort, должен отдавать себе отчёт в том, что наихудшая оценка сложности этого алгоритма — квадратичная, и лишь в «большинстве» случаев — O (n * log n). И если его это не устраивает, он выберет, например, heapsort. Но для этого ему нужно знать, что такое quicksort и heapsort.


# rm -rf /

Отсутствует

 

№124203-03-2013 00:23:31

krigstask
друг народа
 
Группа: Members
Откуда: Rampova, Inkerimaa
Зарегистрирован: 13-09-2005
Сообщений: 4593
UA: Opera 12.1
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

Keepun
Мне лень распинаться перед тобой, всё равно ты тут у нас один «настоящий программист», но на собеседовании, скажем, в Гугль тебе будут задазадают вопросы по алгоритмам, их сложности, сортировкам, деревьям и т.д. Даже на должность сисадмина-программиста (SRE).


Ядрёная консоль делает меня сильней!

Отсутствует

 

№124303-03-2013 00:32:58

ladserg
Обещал вернуться...
 
Группа: Members
Откуда: Russia
Зарегистрирован: 10-03-2005
Сообщений: 1977
UA: Firefox 19.0

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

И какой учитель тебе 2-х летнию программу обучения за три дня выдаст? Это же его хлеб вообще-то.

Двух летнюю программу чего, по изучению паскаля? Гнать такого учителя в шею надо. Человеку с базовыми знаниями по методам программирования достаточно документации и максимум недели для изучения языка. Через неделю он уже должен начать писать программы хотя бы со справочником функций.

Keepun пишет

Я VB за ночь выучил, чтобы только макросы в дипломку добавить :lol:

Ну если два года паскаль изучать, то VB наверно да, за ночь выучить можно. Особенно если тема диплома - Программы на VBA.

Keepun пишет

Да нет. Я создаю нейронную сеть на готовых либах, а не переизобретаю алгоритм сортировки.

И чё? Ты в своих программах ни одного алгоритма не используешь? По твоему выходит, что нейросети сейчас может любая кухарка создавать?


Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).

Отсутствует

 

№124403-03-2013 02:49:05

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

Такс... закрутилось...
Давайте условимся, что Алгоритм - некий кусок кода, который выполняет свою задачу.
У каждого кода есть ценность. Если важность или быстродействие реализации конкретной задачи не высока, то выбираются алгоритмы, которые кем-то реализованы и протестированы. Нужно сначала доказать, что для сортировки закладок в Лисе (к примеру) стандартная функция из библиотеки не подходит, поэтому нужно тратить рабочее время для реализации своего костыля.

Задачи определяют алгоритмы и для большинства повседневных задач качество алгоритма не важно. Сейчас 21 век и оптимизацией кода уже мало кто занимается из-за дешевых ресурсов. Сейчас оптимизируют именно большие расчеты.

Или возьмем к примеру STL. Эта либа стандартизирована лишь в документах. Реализации этой либы отличаются, под Линь - открытая, под Винь - закрытая. Точно сказать, как ведет vector или другое из STL на всех платформах вряд ли сможете, но для переносимости кода при повседневных задачах это не важно.

Сейчас уже давно другие ценности при программировании. Спрос на Java и C# на рынке высок. Никому не нужен уже алгоритм сортировки и т.п. Даже само знание этого алгоритма не важно, потому что все отсортируют через стандартную Array.Sort() и будут соображать над чем-то более важном.

Да, программирование - уже не удел гиков. Корпорации предпринимают все усилия, что бы люди не думали об "особенностях реализаций".
История эта повторялась не раз. Одним из самых известных переходов был от Ассемблера к С. Сейчас уже чистый С только в важных областях юзают, типа ядра Линя. А коммерция уже на Java/C# перешла.

http://www.code.org/


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№124503-03-2013 04:23:33

ladserg
Обещал вернуться...
 
Группа: Members
Откуда: Russia
Зарегистрирован: 10-03-2005
Сообщений: 1977
UA: Firefox 19.0

Re: Linux, Windows, Mac OS X - IX

Keepun
Омг. Алгоритм, дражайший вы наш неуч, не кусок кода, а сиречь последовательность инструкций исполнителю для достижения результата.

Я чот не уверен что современные "программеры" могут создавать вменяемый код с такими познаниями, особенно не используя алгоритмы и получая знания ковырянием папок с программами :(


Этот мир, не совершенный, состоит из всех из нас. Он прямое отражение наших чувств и наших глаз.
Этот мир не станет лучше и не станет он добрее, если сами мы добрее не станем.
(@ Игорь Тальков, Этот мир).

Отсутствует

 

№124603-03-2013 05:16:54

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

ladserg

Keepun пишет

Давайте условимся, что Алгоритм - некий кусок кода, который выполняет свою задачу.

А само, понятие слишком абстрактное.

А может еще вспомним патенты на код и дело Гугла против Оракла из-за Явы?


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№124703-03-2013 05:26:07

Azathoth
Участник
 
Группа: Extensions
Откуда: Хабаровск
Зарегистрирован: 02-02-2005
Сообщений: 2692
UA: Firefox 19.0

Re: Linux, Windows, Mac OS X - IX

Keepun пишет

Давайте условимся, что Алгоритм - некий кусок кода

Ой, беда... И чему тебя два года-то учили?...


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

Отсутствует

 

№124803-03-2013 05:31:43

Keepun
Участник
 
Группа: Extensions
Зарегистрирован: 08-12-2007
Сообщений: 591
UA: Firefox 19.0
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

ladserg пишет

особенно не используя алгоритмы

Не нужно досконально знать все вещи, чтобы ей пользоваться. Я не обязан знать алгоритмы сортировки, потому не собираюсь создавать велосипед. Но мне нужно знать алгоритм нейронные сети Кохонена, который есть в книге и Гугле.


Зачем вашему компу оперативная память, если вы сами не хотите, чтобы софт ее всю использовал?

Отсутствует

 

№124903-03-2013 06:41:58

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 20.0

Re: Linux, Windows, Mac OS X - IX

ladserg пишет

Я чот не уверен что современные "программеры" могут создавать вменяемый код с такими познаниями, особенно не используя алгоритмы

Тут явно речь либо о сферическом программисте в вакууме, либо о программисте-императивщике, и об алгоритмах с реализацией на императивных ЯП - последние сейчас не что бы вымерли, но просто прочих программистов с другой специализацией как минимум не меньше. И им все эти сортировки-деревья нужны, как зайцу стоп-сигнал. Например, программистам со специализацией по декларативным ЯП - тем же SQL-щикам. Им куда важнее знать, чем nested loops в плане запроса отличается от hash/merge join, и в чем разница между уровнями изоляции read uncommitted и serializable. Тем, кто занимается ООП-проектированием - почему в ряде случаев aggregation предпочтительнее, чем inheritance, и чем плох паттерн singleton (и как эти минусы можно обойти). И т д и т п. И если речь вообще вести о некоем обязательно теоретическом минимуме для программиста, то здесь я согласен - этот минимум должен быть (как и нужный для любой инженерной специальности навык пользоваться готовыми наработками и справочной литературой). Если речь вести именно об алгоритмах в их классической подаче а-ля Кнут - их непременное знание в достаточно большом числе предметных областей имеет нулевую ценность. Примерно как для врача-эпидемиолога умение принимать роды: будет уметь - хорошо, не будет - ничего страшного, его специализация этого навыка не требует.

Отредактировано hydrolizer (03-03-2013 06:44:58)

Отсутствует

 

№125003-03-2013 10:33:18

krigstask
друг народа
 
Группа: Members
Откуда: Rampova, Inkerimaa
Зарегистрирован: 13-09-2005
Сообщений: 4593
UA: Opera 12.1
Веб-сайт

Re: Linux, Windows, Mac OS X - IX

hydrolizer пишет

либо о программисте-императивщике, и об алгоритмах с реализацией на императивных ЯП - последние сейчас не что бы вымерли, но просто прочих программистов с другой специализацией как минимум не меньше

Ви-таки считаете, что какой-нибудь C++ — не императивный ЯП? Java, C#, Python, JavaScript? И с каких это пор сложность алгоритмов и пр. такие вещи важны только в императивных языках?


Ядрёная консоль делает меня сильней!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]