GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.3 (6)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Кто на чем пишет?
Вольфрамовый клaпaн
Сообщений: 13070
На: Кто на чем пишет?
Добавлено: 03 окт 14 12:07
Просто для справки, если там не присваивание, а сравнение, то "лучше" писать так х == 1
[Ответ][Цитата]
гость
176.120.48.*
На: Кто на чем пишет?
Добавлено: 03 окт 14 12:38
Цитата:
Есть проекты, которые требуют высоту на Delphi, а низоту на C. Мозги встают раком при переходе с одного на другое. Особенно такая запись на C: if (x=1) n=0; Компилятор её глотает, а что при этом происходит... не понятно.
Делфи уже крайне мало кому нужен! Раньше "гордился" что на делфи написан дизай скайпа и вообще много крутых программ (вроде ТоталКоммандера). Но скайп уже давно переписан на С++ (майкрософт не мог позволить такой беспредел). А Тотал просто не может в одиночку переписать СТОЛЬКО кода на другой язык. С Делфи многие уходят! И новички не очень приходят. Скорее держатся "старперы", которым нужен язык для мелкой автоматизации или поддержки старых проектов (а новые языки учить не нужно). Но если работают с расчетом на много лет поддержки проекта, то выбирают более "современные" языки (не делфи). Каждая следующая версия Делфи хуже предыдущих.

С/С++ действительно слишком "странный" язык. Много нестандартных (для других языков) конструкций возможно встраивать прямо в команды. Одна команда for(параметры) чего стоит. Вместо "параметры" можно целую программу написать.
[Ответ][Цитата]
гость
5.138.159.*
На: Кто на чем пишет?
Добавлено: 03 окт 14 14:54
***Думаю подобным должен быть и язык-"инструмент" для ИИ.

Неа. Некоторый функционал банально выносится в библиотеки и необходимость в ЯП реализующем тоже самое иным методом отпадает.

***Уже 2й месяц упорно изучаю С++. Крайне кривой язык! Все сделано через Ж.

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

***"международным"

Культурная интервенция. Мирное вторжение на территорию врага через конвертацию населения в себеподобных.

К стати дракон мог бы подойти - он достаточно прост в освоении, а блок-схемы практически международный стандарт.

***

Заметь, в разных ЯП нет унифицированного синтаксиса, они похожи только по парадигме, платформе и предку и даже галимый ассемблер синтаксисом различается из за кучи мудаков решивших, что писать задом наперёд инструкции по жизни правильнее.
[Ответ][Цитата]
гость
5.138.159.*
На: Кто на чем пишет?
Добавлено: 03 окт 14 14:59
***Просто для справки, если там не присваивание, а сравнение, то "лучше" писать так х == 1

Всёравно операция верна. условие x != 0 выполняется.
[Ответ][Цитата]
Вольфрамовый клaпaн
Сообщений: 13070
На: Кто на чем пишет?
Добавлено: 03 окт 14 15:06
Цитата:
Автор: гость
Всёравно операция верна. условие x != 0 выполняется.

Верна, просто ув. Кек может ждать немножко другого результата,
особенно, если в цикле эту "проверку" устраивает.
[Ответ][Цитата]
гость
5.138.159.*
На: Кто на чем пишет?
Добавлено: 03 окт 14 15:27
Это наиболее вероятно.
[Ответ][Цитата]
гость
176.120.48.*
На: Кто на чем пишет?
Добавлено: 03 окт 14 15:45
Цитата:
***Думаю подобным должен быть и язык-"инструмент" для ИИ.
Неа. Некоторый функционал банально выносится в библиотеки и необходимость в ЯП реализующем тоже самое иным методом отпадает.
Не вижу в этом ничего плохого! Вы ведь детально не знаете ни про человеческие клетки ни про взаимодействие электронов в процессоре, но это не мешает Вам этим манипулировать. А при желани Вы можете изучить процесс и повторить это в своей "абстракции" или даже реализации (свой проц изготовить). Тогда результатом Вашей работы будет создание своего "черного ящика", удобного для использования другими программами исключительно по инструкциям манипулирования (без знания начинки). Подобное можно реализовать на уровне метапрограммирования. (это часть МОЕГО подхода к ИИ)

Цитата:
***Уже 2й месяц упорно изучаю С++. Крайне кривой язык! Все сделано через Ж.

Как я рад что тебя повстречал ты себе не представляеш. Эта фигня(С++) мне напоминает некоторые программы у которых фигова гора одинаковых меню и в каждом перечислено абсолютно всё, казалось бы - для простоты, чтоб конечный юзер не промахнулся, на деле запутывает по хлеще большого количества разных пунктов.
Согласен! Каша из "ответов" на простой вопрос, 70% из которых не работают именно под Вашу версию компилятора С++ или требование подключить "стандартные" библиотеки из поставки или (всего-лишь) скачав их с сайта майкрософта. А количество строковых типов и их "ограничения", и проблемы при преобразованиях. А нехватка "встроенных" функций вроде StrToInt/IntToSr (я насчитал больше 10 реализаций этого под разные компиляторы). А что стоит понять замену делфийского TList на 4 "подобных" конструкции list/vector/еще две-три(не помню) со "слегка" разными характеристиками и ограничениями. Я написал свой огромный класс для строк, лишь бы избавиться от этой массы преобразований.

Цитата:
***"международным"
Культурная интервенция. Мирное вторжение на территорию врага через конвертацию населения в себеподобных.
Андроид сейчас повсеместно внедряет яву. А это еще та заноза в з...! С++ бесплатный. Спецов - уйма (больше чем под другие языки). Могли давно унифицировать язык, упростить, убрать "левые" конструкции, сделать "ступенчатую" сложность в освоении. Когда писал на турбопаскале было уйма ограничений. Что очень помогало мне-школьнику. Но потом я узнал о десятке "хакерских" приемов для их обхода. Например через асемблерные вставки или игры с указателями. Как сейчас помню свой ступор на вопрос в тесте по паскалю "можно ли менять константы?". Понимал что от меня ждут ответ "нельзя", но я знал минимум 4 способа как "можно". Вполне могли сделать подобное в С++. Как и ускорить компиляцию. Например заменив ее на предварительную/отладочную "трансляцию".

Цитата:

К стати дракон мог бы подойти - он достаточно прост в освоении, а блок-схемы практически международный стандарт.
Блок-схемы это не программирование! Это "набросок" для лучшего понимания принципа работы программы. Майкрософт уже пробовала сделать подобное в языке для роботов. Полный провал! Игрушка для детей, но не для профи!

Цитата:

Заметь, в разных ЯП нет унифицированного синтаксиса, они похожи только по парадигме, платформе и предку и даже галимый ассемблер синтаксисом различается из за кучи мудаков решивших, что писать задом наперёд инструкции по жизни правильнее.
И что в этом хорошего? Понимаю что направление можно поменять на "задом наперед". Кажется это называют "польским порядком записи". Возможно у них так дейсвительно принято. Но это точно принято в арабских странах. А в китае сверху вниз. Можно ко всему привыкнуть. Можно сделать "национальную версию". Но, ИМХО, ИИ появится именно тогда когда сотни тысяч спецов будут пиать на одном языке совместимые программы из общедоступных блоков, постоянно пополняя коллекцию этих блоков. Когда одни бот-программы будут управлять другими, а другие первыми... это ли не "коллективное сознание"...
[Ответ][Цитата]
victorst
Сообщений: 821
На: Кто на чем пишет?
Добавлено: 03 окт 14 21:41
Изменено: 03 окт 14 21:43
Я немного писал программы на штеккерных панелях, довольно много писал в машинных кодах Intel8080A (8 бит), PDP8(12 бит) и PDP11(16 бит). Вполне нормально пишется. Никакого ассемблера а тем более С++, который считаю раковой опухолью на теле C.
По моему главное - не язык программирования, а те алгоритмы, которые хотите реализовать посредством программного инструмента.
[Ответ][Цитата]
ЭСГТР
Сообщений: 8449
На: Кто на чем пишет?
Добавлено: 03 окт 14 22:23
Изменено: 03 окт 14 22:24
Цитата:
Автор: victorst

Я немного писал программы на штеккерных панелях, довольно много писал в машинных кодах Intel8080A (8 бит), PDP8(12 бит) и PDP11(16 бит). Вполне нормально пишется. Никакого ассемблера а тем более С++, который считаю раковой опухолью на теле C.
По моему главное - не язык программирования, а те алгоритмы, которые хотите реализовать посредством программного инструмента.
PDP11(См4) какая была прелесть....
[Ответ][Цитата]
Kek
Сообщений: 1133
На: Кто на чем пишет?
Добавлено: 04 окт 14 0:03
Цитата:
Автор: гость
Плохой пример "плохости" привели.

Когда я пишу if (x=1), то я думаю, что оператор "=" сравнение, а на самом деле это присваивание. И в С это имеет смысл. Это конечно говорит о гибкости языка. Но за это надо платить тем, что эту ошибку допустив и забыв про нее, хрен найдешь потом после тысячи строк кода. Ошибка отлавливается только в RunTime.
В Delphi такие записи не проходят, компилятор ругается.
[Ответ][Цитата]
гость
109.229.20.*
На: Кто на чем пишет?
Добавлено: 04 окт 14 6:13
Цитата:
Автор: Kek
Когда я пишу if (x=1), то я думаю, что оператор "=" сравнение, а на самом деле это присваивание. И в С это имеет смысл. Это конечно говорит о гибкости языка. Но за это надо платить тем, что эту ошибку допустив и забыв про нее, хрен найдешь потом после тысячи строк кода. Ошибка отлавливается только в RunTime.
В Delphi такие записи не проходят, компилятор ругается.

А как было бы круто, в настройках компилятора выставить уровень "новичок" и эти конструкции будут ругатся/предупреждать зарнее... Или что-бы "собрать" компилятор без подобных поддержек по своему любимому подбору конструкций. Где можно было бы даже обязать тело цикла и ифов оборачивать в {} или заменить скобки на begin/end. Или наоборот, расширять компилятор своими конструкциями вроде try{}exeption{}final{}break{}break2{}terminate{}... Эх! Слишком долго я мечтал о своем языке уровня С++, но без его "обязательных" извращений...
[Ответ][Цитата]
гость
31.181.217.*
На: Кто на чем пишет?
Добавлено: 04 окт 14 6:31
***Вы ведь детально не знаете ни про человеческие клетки ни про взаимодействие электронов в процессоре, но это не мешает Вам этим манипулировать.
...
Подобное можно реализовать на уровне метапрограммирования.

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

***Могли давно унифицировать язык, упростить, убрать "левые" конструкции, сделать "ступенчатую" сложность в освоении...

Для этого уже есть си, к стати стандарт которого не помню - или скоро обновится, или уже обновился.

***Блок-схемы это не программирование! Это "набросок" для лучшего понимания принципа работы программы. Майкрософт уже пробовала сделать подобное в языке для роботов. Полный провал! Игрушка для детей, но не для профи!

Ты видать с темой не знаком. На Драконе, если верить "Википедии & компании", автопилот Бурана был написан, который летал и приземлялся автоматически.

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

***Кажется это называют "польским порядком записи".
Обычная запись:
2 + 3 * 2 = 8
Польская запись:
2 2 3 * + = 8
Обратная запись:
8 = 2 * 3 + 2

Синтаксис intel:
mov eax,4

Синтаксис at&t:
mov 4,eax

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

***Когда одни бот-программы будут управлять другими, а другие первыми... это ли не "коллективное сознание"

Может быть.
[Ответ][Цитата]
гость
31.181.217.*
На: Кто на чем пишет?
Добавлено: 04 окт 14 6:35
***А как было бы круто...

Компилятор и так ругается.

***или заменить скобки на begin/end

Макросы помогут.

***Или наоборот, расширять компилятор своими конструкциями вроде try{}exeption{}final{}break{}break2{}terminate{}

Пиши и подключай статические библиотеки или макросы.

Не вижу проблем кроме глупости.
[Ответ][Цитата]
гость
109.229.20.*
На: Кто на чем пишет?
Добавлено: 04 окт 14 7:11
Цитата:
Автор: гость

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

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

А Вы много знаете про работу нейронов? Не одного нейрона, а работу в связке? Или лишь предполагаете что сеть способна получить на образце? А знаете как на асемблере устроен цикл или просто используете "черный ящик" while(){}? А знаете начинку команд WinAPI или просто создаете окошки используя ее? Мы все работаем с черными ящиками!
Если вы можете подчинить карбюратор на машине, то после закрытия капота он для Вас снова становится черным ящиком, со свойствами нужными для педали "газ". И когда Вам нужно "обогнать переднего по встречке" Вы врядли помните как закручивается топливо и какие винтики повернулись на N градусов в карбюраторе.
Директор на фирме управляет сотней специалистов. Знает основы работы каждого - API для указания заданий. Но понятия не имеет что программист делает для бухгалтера в деталях. Программист - это для него просто еще один "черный ящик" - детали нужны только при плохой работе.

Цитата:

***Могли давно унифицировать язык, упростить, убрать "левые" конструкции, сделать "ступенчатую" сложность в освоении...
Для этого уже есть си, к стати стандарт которого не помню - или скоро обновится, или уже обновился.
Этот язык НЕ УДОБЕН! Асемблер - тоже стандарт! Но школьника учить этому языку - это ад! И "старперу" перейти с другого языка крайне тяжело. Нельзя подстроить язык под свои нужды. Нет общедоступных "репозиториев" решений. А значит это как "эсперанто" - знают многие, слегка понятен каждому, но предпочитают пользоваться другими, "более удобными" языками.

Цитата:

***Блок-схемы это не программирование! Это "набросок" для лучшего понимания принципа работы программы. Майкрософт уже пробовала сделать подобное в языке для роботов. Полный провал! Игрушка для детей, но не для профи!

Ты видать с темой не знаком. На Драконе, если верить "Википедии & компании", автопилот Бурана был написан, который летал и приземлялся автоматически.

А вообще это адаптированные под кодинг блок-схемы. Тоесть тебе блок-схему дают инженеры рисовавшие её с математиками, ты её кодом заполняеш и на выходе получаеш красивый файл с текстом программы и подробными комментариями от специалистов трёх профессий. При этом тебе не нужно знать или учить инженерное дело, чтобы понимать как оно реализуется.
Когда писал свой язык (лет 8-10 назад) проходил и "стадию" блок-схем... Для любой относительно сложной программы получается нечитабельный клубок из ссылок. Попробуйте изобразить хотя-бы работу алгоритма "задачи коммивояжера" по сложной математике с получением данных из нескольких баз данных. Блоксхемы помогут для крайне простых схем. Где каждый блок можно маштабировать из "черного ящика", получив другую более детальную блок схему. И адаптированый под работу сотни специалистов-не программистов. Но в реальной работе это случается редко! Функции выносятся в глобальные модули, модули взаимпопересекаются, несколько функций вместе могут организовывать рекурсию. У меня где-то есть собственноручно написанный визуализатор взаимосвязей юнитов внутри проекта на Делфи (сам заполняет анализом кода). Когда больше 6-7 юнитов уже звезду не нарисуешь - обязательно перекрестки начинаются.
[Ответ][Цитата]
гость
109.229.20.*
На: Кто на чем пишет?
Добавлено: 04 окт 14 7:34
Цитата:
***А как было бы круто...

Компилятор и так ругается.

В том то и проблема, но не ругается! Для него if(a=2) нормальная команда! Это для новичка "такого не может быть!", "а чо меня не предупредили?"

Цитата:

***или заменить скобки на begin/end

Макросы помогут.

***Или наоборот, расширять компилятор своими конструкциями вроде try{}exeption{}final{}break{}break2{}terminate{}

Пиши и подключай статические библиотеки или макросы.

Не вижу проблем кроме глупости.

Макросы не помогают! И язык не всесильный! Иногда код проще зажать в свои скобки чем делать несколько перекресных процедур. С++ можно менять, но лишь "слегка". Нельзя сделать набор классов, которы будут работать "в польской записи" или как старый бейсик с разделителями-пробелами (без скобок). А как можно в С++ заменить скобки на begin/end в редакторе? чтобы писать begin, а компилятор воспринимал бы его как "{" ?
Понимаю, что пример кривой, но были случаи в паскале/С++, когда хотелось бы использовать удобную конструкцию из явы и не мог. А в яве очень хотелось сделать привычную паскалевскую процедуру и тоже не позволял язык, без сложных манипуляций с потоками.

И почему начав изучать С++ или Яву я вынужден был по крохам собирать процедуры в свои модули/классы? Почему подобные сборники не лежат на каждом углу как в Делфи? Почему ни для одного языка не нашел офллайного (или хотя-бы онлайнового) сборника котовых проверенных вопросов/ответов каких уйма для Делфи?

Как узнать размер свободного места на дисках?
Делфи: procedure GetFreeDisk(); begin.. end;
C++: Для вин компай в сторону WinAPI DisInfo (без примера), для линукса поищи файл /dev/d0 или/dev/disk0 в зависимости от версии если не сильно поменяли... под мак это...
В результате вынужден найти частичный пример, написать свою процедуру, вынести ее в свою коллекцию и бережно хранить, т.к. потеряв прийдется писать заново. Но у меня 2 месяца опыта в С++, почему сишники со стажем лет в 15-20 это не сделали? А ведь можно было бы даже сделать "репозитории" кода с автоматической докачкой нужных функций...
[Ответ][Цитата]
 Стр.3 (6)1  2  [3]  4  5  6<< < Пред. | След. > >>