Re[12]: PHP-то за что опустили?
От: Ночной Смотрящий Россия  
Дата: 11.03.15 17:12
Оценка:
Здравствуйте, Ops, Вы писали:

НС>>Нет.

Ops>Почему? Это же новый оператор.

Если ты не понимаешь почему, мне добавить нечего.
Re[14]: PHP-то за что опустили?
От: Ночной Смотрящий Россия  
Дата: 11.03.15 17:12
Оценка:
Здравствуйте, Ops, Вы писали:

J>>То есть другая половина — не принадлежит И твое оценочное суждение, получается — что PHP вдвое хуже JS

Ops>Не-не-не-не, ты не путай тут. Недостатки ЖС не ограничиваются общим с ПХП подмножеством.

Все основные недостатки JS воспроизведены в PHP в лучшем виде. PHP это вообще живая демонстрация как делать не надо.
Re[4]: Языки программирования через 10 лет
От: Aleх  
Дата: 11.03.15 23:52
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек).


Ф>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.


Имеется ввиду конкретная реализация модульной парадигмы или же модули vs заголовочные файлы?
Отредактировано 12.03.2015 2:21 kaa.python . Предыдущая версия .
Re[5]: Языки программирования через 10 лет
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 12.03.15 06:10
Оценка:
Здравствуйте, jazzer, Вы писали:

J>а что не так с перлом? отличный инструмент для своих задач


Он трудночитаемый. Есть шутка, что Perl — это "write-only язык". Преувеличение, конечно, но некоторая почва под этим есть.
Свои задачи он неплохо решает, но читать код, написанный другим человеком, бывает сложно. Хотя я сам видел пример хорошо написанного Perl-кода. Но для новых проектов я б лучше взял что-то другое. Python, например.
С уважением, Artem Korneev.
Re[8]: PHP-то за что опустили?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 12.03.15 06:16
Оценка: +2
Здравствуйте, Ops, Вы писали:

Ops>Половину того, что там написано, можно и про JS сказать.


Я не сталкивался с РНР, но JS — это самый ужасный язык из всего, на чём мне вообще приходилось писать. Надстройка в виде jquery делает его чуть лучше, но я всёже хотел бы чтоб JS ушёл в прошлое и его место занял другой язык.
С уважением, Artem Korneev.
Re[4]: Языки программирования через 10 лет
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 12.03.15 06:27
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.


Да ради бога. Пусть таблица будет неограниченной длины. Как это поможет обойтись без программирования?
С уважением, Artem Korneev.
Re[7]: А давайте наоборот
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 12.03.15 07:53
Оценка:
Здравствуйте, Гест, Вы писали:

Г> Про изменение культуры разработки произошедшее _вследствие_ появления ноды.


А что именно поменялось?
С уважением, Artem Korneev.
Re[8]: А давайте наоборот
От: Ночной Смотрящий Россия  
Дата: 12.03.15 08:20
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>А что именно поменялось?


Он же уже ответил — bower, grunt, gulp. Что, первый раз слышишь? Ты просто не в теме тогда
Re[5]: голосование по мэйнстриму языков
От: BrainSlug Израиль  
Дата: 12.03.15 09:16
Оценка:
Ops>Это ж лишнюю галочку ставить придется, имхо, оба вполне себе мейнстрим, пусть и в разных областях.
что тогда мешает и другие языки сгруппировать, чтобы не ставить лишних галочек? php/js, например, — да языки разные, зато оба вполне себе где-то мейнстрим? логика, где?
.
Отредактировано 12.03.2015 9:17 BrainSlug . Предыдущая версия .
Re[5]: Языки программирования через 10 лет
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 12.03.15 09:37
Оценка: :)
Здравствуйте, Artem Korneev, Вы писали:

I>>В теории всё так и есть — если таблица будет неограниченой длины и ширины. Хоть звук и видео обрабатывай.


AK>Да ради бога. Пусть таблица будет неограниченной длины. Как это поможет обойтись без программирования?


"один мужик втирал, что теперь когда в электронной таблице можно обсчитывать все что угодно, программисты уже не нужны"

Программисты не нужны и программирование не нужно — это две большие разницы.
Re[6]: Языки программирования через 10 лет
От: jazzer Россия Skype: enerjazzer
Дата: 12.03.15 09:43
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Здравствуйте, jazzer, Вы писали:


J>>а что не так с перлом? отличный инструмент для своих задач


AK>Он трудночитаемый. Есть шутка, что Perl — это "write-only язык". Преувеличение, конечно, но некоторая почва под этим есть.


Вот что написано в официальном мануале:

Just because you CAN do something a particular way doesn't mean that you SHOULD do it that way. Perl is designed to give you several ways to do anything, so consider picking the most readable one.


AK>Свои задачи он неплохо решает

Свои задачи он просто отлично решает

AK>но читать код, написанный другим человеком, бывает сложно. Хотя я сам видел пример хорошо написанного Perl-кода. Но для новых проектов я б лучше взял что-то другое. Python, например.


Все зависит исключительно от программера и его настроенности на написание понятного кода. Овнокодить можно на любом языке, и питон ни разу не исключение.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Языки программирования через 25 лет
От: jazzer Россия Skype: enerjazzer
Дата: 13.03.15 02:30
Оценка: :)
Здравствуйте, Wolverrum, Вы писали:

W>Джаззер понял, что хаскель все-таки не нужен ввиду отсутствия рабочих мест.


О! Меня упоминули в связи с Хаскелем, а не С++ Это что-то значит!
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re: Языки программирования через 10 лет
От: uncommon Ниоткуда  
Дата: 13.03.15 07:02
Оценка:
Здравствуйте, kurchatov, Вы писали:

K>Каковы будут позиции языков к 2025 году? Я думаю, что:

K>Perl все еще жив

Вот-вот будет релиз Perl 6. Сейчас уже совсем скоро, честное слово!

Python 3 (в версии 3.15) наконец-то вытеснил из использования Python 2, который дошел до версии 2.7.42. Но Python 3 сам уже считается устаревшим, потому что вышел несовместимый с ним Python 4 (на основе JavaScript!).

Сам JavaScript — Clang, GCC, Visual C++ компилируют теперь только в него. Oracle усиленно работает над портом JVM под JS.
Re[5]: Языки программирования через 10 лет
От: Философ Ад http://vk.com/id10256428
Дата: 13.03.15 07:12
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, Философ, Вы писали:


Ф>>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:


Ф>>
Ф>>program ThisProgramDemonstrateFuckingShitFromDephiWorld;
Ф>>uses MyFuckignUnit;
Ф>>begin
Ф>>  WriteLn('Hello from delphi hell');
Ф>>end.
Ф>>


Ops>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок.


В C ты можешь поставить бряк на printf() и посмотреть что в действительности исполняется и в каком файле, а тут бряк на WriteLn() тебе ничего не даст — тебе придётся открыть модуль MyFuckignUnit, посмотреть что импортирует он и если в нём и в остальных модулях секции инициализации. До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Языки программирования через 10 лет
От: Философ Ад http://vk.com/id10256428
Дата: 13.03.15 07:14
Оценка:
Здравствуйте, Locksmithpc, Вы писали:

L>Здравствуйте, Философ, Вы писали:


Ф>>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.


Ф>>Оно говно просто потому, что ты не сможешь сказать что выведет на экран вот такая программа:


Ф>>
Ф>>program ThisProgramDemonstrateFuckingShitFromDephiWorld;
Ф>>uses MyFuckignUnit;
Ф>>begin
Ф>>  WriteLn('Hello from delphi hell');
Ф>>end.
Ф>>


L>А нельзя ли на примерах показать недостатки initialization/finaliztion и пр.?


Этот код и есть демонстрация недостатков initialization/finaliztion. Вот здесь
Автор: Философ
Дата: 13.03.15
я написал почему.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Языки программирования через 10 лет
От: Философ Ад http://vk.com/id10256428
Дата: 13.03.15 07:18
Оценка:
Здравствуйте, Aleх, Вы писали:

A>Здравствуйте, Философ, Вы писали:


Ф>>Да, говно, но не поэтому (не из-за var блока и не из-за скобочек).


Ф>>Из-за модульной парадигмы (namespace'ов приделанных сбоку, unit vars, initialization/finaliztion), из-за наследования конструкторов, и тучи других причин масштабом поменьше.


A>Имеется ввиду конкретная реализация модульной парадигмы или же модули vs заголовочные файлы?


1)
Имеется ввиду сложность предсказания потока исполнения: слишком сложно сказать в каком порядке будут исполнены секции initialization/finalization а от этого может многое зависеть, т.к. там иногда переопределяются некоторые глобальные вещи, типа функций управления памятью. В делфе процветает чёрная магия.

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

2) Такая парадигма крайне плохо дружит с многопоточностью. Вот, представь:

  code
//файл проекта---------------------------------------------------
program ThisProgramDemonstrateFuckingShitFromDephiWorld;
uses MyFuckignUnit,
    MyFuckignUnit2;
begin
  WriteLn('Hello from delphi hell');
end.


//файл модуля---------------------------------------------------
unit MyFuckignUnit;

interface
uses SysUtils, MyFuckignUnit2, MyFuckignUnit3;

implementation
function CreateMyObjectWithThreads() :TObject;
begin
  //here creating object that uses threads
end;

var o :TObject;
initialization
o := CreateMyObjectWithThreads();

finalization
 FreeAndNil(o);
end.

//файл модуля---------------------------------------------------
unit MyFuckignUnit2;
interface
 procedure UseModuleVar();

implementation
procedure UseModuleVar();
begin
 moduleVar := false;
end;

var moduleVar :boolean;
initialization
  moduleVar := true;
finalization


В коде показана ситуация, когда во время инициализации модуля 1 создаётся объект, который создаёт и использует поток (пусть это будет неявно). Из потока читается булевская переменная из модуля 2, которая там инициализируется в секции инициализации. Никакого криминала в незащищённом чтении булевской переменной нет — это атомарная операция. Косяк здесь в том, что поток может её прочитать до того, как она была выставлена в правильное значение — всё, ты попал на часы нудной отладки.
С потоками всё значительно сложнее потому, что распределение квантов времени ты предсказать не можешь: в одном случае переменная уже будет выставлена, а в другом нет.
Даже если без потоков, просто до инициализации модуля дело ещё не дошло, но уже оттуда зовутся функции ситуация оказывается подобной, хотя и проще.
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 13.03.2015 7:51 Философ . Предыдущая версия .
Re[5]: Языки программирования через 10 лет
От: AlexGin Беларусь  
Дата: 13.03.15 09:16
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок.

В древних ОС (типа MS-DOS) — отформатирует диск, а вот в той же Windows — ОС не даст так просто это сделать пользовательской аппликухе.

По теме:
В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс.
Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C
Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова.
В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал

P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны.
Re[6]: Языки программирования через 10 лет
От: Ops Россия  
Дата: 13.03.15 09:23
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>В C ты можешь поставить бряк на printf() и посмотреть что в действительности исполняется и в каком файле, а тут бряк на WriteLn() тебе ничего не даст — тебе придётся открыть модуль MyFuckignUnit, посмотреть что импортирует он и если в нём и в остальных модулях секции инициализации. До твоего дэлфячего аналога "мэйна" дело может даже не дойти. Разница вот в этом.


Я тебя умоляю. #pragma init_seg или __attribute__ ((constructor)) — и вся любовь, пусть это и не по стандарту.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[6]: Языки программирования через 10 лет
От: Ops Россия  
Дата: 13.03.15 09:47
Оценка:
Здравствуйте, AlexGin, Вы писали:

Ops>>А где такое можно сказать? В С есть #define true false, например, а "хело мир" можно заставить форматировать диск, подключив лишь один заголовок.

AG>В древних ОС (типа MS-DOS) — отформатирует диск, а вот в той же Windows — ОС не даст так просто это сделать пользовательской аппликухе.
Это я для примера, форматирование диска частенько упоминают как возможный результат UB, например
AG>По теме:
AG>В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс.
AG>Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C
AG>Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова.
Зато там есть удобная сокращалка, WITH, кажется.
AG>В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал
Примерно та же история, хотя с делфи я немного знаком, т.к. игрался с билдером.

AG>P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны.

Возможно, приличная IDE может решить это, пусть громоздко, но писать с ней можно меньше.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[7]: Языки программирования через 10 лет
От: AlexGin Беларусь  
Дата: 13.03.15 12:41
Оценка:
Здравствуйте, Ops, Вы писали:

Ops>Здравствуйте, AlexGin, Вы писали:


AG>>По теме:

AG>>В том, что можно переопределить действие операторов, констант и даже ключевых слов ЯП — это, ИМХО, только плюс.
AG>>Однако, лично меня, когда я (20 лет назад) перешел от Паскаля к C, приятно удивила лаконичность языка C
AG>>Лаконичность это прежде всего {/} — вместо BEGIN/END. Хотя там, в Паскале, были еще разные "многобуквенные" ключевые слова.
Ops>Зато там есть удобная сокращалка, WITH, кажется.
То есть (переведём на русский): придуманы костыли для Паскаля.

AG>>В общем — забросил я с тех пор Паскаль и уже не возвращался к нему. В Делфи даже и не влезал

Ops>Примерно та же история, хотя с делфи я немного знаком, т.к. игрался с билдером.
С Билдером я также занимался раньше (и довольно плотно — пришлось долго поддерживать один древний проект), только в паскалевский синтаксис не лез.
Там все можно делать на C++. Хорошо, что Борланд догадался сделать такую штуку, как билдер. Хоть с привычным синтаксисом имеешь дело!

AG>>P.S. Паскаль и языки с его синтаксисом может и хороши для студентов (для целей обучения), но для повседневной практики они неудобны.

Ops>Возможно, приличная IDE может решить это, пусть громоздко, но писать с ней можно меньше.
К слову сказать, у Борланда все IDE (которые под Windows) — особо глючные и жутко тормозные. В общем — ещё те "подарочки"
Насчет сторонних IDE для Паскаля/Делфи — ИМХО их не было и нет. Только борландовское УГ.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.