С Новым годом! Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Результаты опроса: Кто какой серверный язык предпочитает?
Perl 5 11.90%
Python 12 28.57%
Java 13 30.95%
ASP.NET 14 33.33%
Ruby 7 16.67%
php 10 23.81%
Go 3 7.14%
Elixir 1 2.38%
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 42. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.74/39: Рейтинг темы: голосов - 39, средняя оценка - 4.74
Джоуи
1082 / 644 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
1

Какой язык веб-программирования выбрать? Плюсы\минусы

14.10.2017, 22:54. Показов 7807. Ответов 123

Author24 — интернет-сервис помощи студентам
Вопрос что ни на есть из раздела священных, но все же...
Какой язык веб-программирования кто предпочитает? У кого какие плюсы и недостатки (в том числе - документация, средства разработки, библиотеки)?
Спасибо всем, кто откликнется
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2017, 22:54
Ответы с готовыми решениями:

Какой язык программирования лучше? (3)
Продолжение темы

Какой язык программирования лучше?
Какой на ваш взгляд самый универсальный(т.е. одинаково хорош во всех сферах программирования: веб,...

Какой язык программирования лучше? (2)
Продолжение темы. Начало

C# vs Python. Как выбрать язык программирования для работы?
Здравствуйте. В этом году поступил в вуз на программиста. Решил посмотреть, что такое очка, и...

123
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
10.06.2018, 12:49 41
Author24 — интернет-сервис помощи студентам
Usaga, чтобы не отупеть надо иногда пытаться мыслить логически. ОС мейнтейнеры прекрасно знают реальное положение дел и по этой причине в любом unix/unix-like дистрибутиве есть перл. Просто потому что он нужен на серваках, и нужен очень многим. А вот пых кому нужен тот пусть сам и накатывает, потому что область применения и востребованность пыха гораздо уже и меньше. Кстати python в двух версиях тоже поставляется по умолчанию.
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
10.06.2018, 15:30 42
tmpValue, а не потому ли перл в дистрибутивах идёт, что он используется как скриптовый язык для задач автоматизации? Т.е. речь не о широкой востребованности, а только о том, что это простой "хелпер"?

Просто лично моя логика как-то не выводит широкую популярность перла только из одного факта поставки его в дистрибутивах unix-ов.

Так и PowerShell получается уделывает всякие C++ и Java...
0
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
10.06.2018, 16:32 43
Цитата Сообщение от Usaga Посмотреть сообщение
а не потому ли перл в дистрибутивах идёт, что он используется как скриптовый язык для задач автоматизации? Т.е. речь не о широкой востребованности, а только о том, что это простой "хелпер"?
Perl это не только скриптовость. Конечно юзать перл как админ это кул, боюсь только что админов таких не так много. Ты предлагаешь стрелять из пушки по воробьям.
Цитата Сообщение от Usaga Посмотреть сообщение
Просто лично моя логика как-то не выводит широкую популярность перла только из одного факта поставки его в дистрибутивах unix-ов.
Популярность среди кого? И да, перл не популярен. Однако это не умаляет его привлекательности и мощи. Вот, скажем, common lisp крут. Не популярен, но очень крут. Одна беда — батареек мало. С перлом таких проблем нет. Хватает и крутости и батареек.
Цитата Сообщение от Usaga Посмотреть сообщение
Так и PowerShell получается уделывает всякие C++ и Java...
У тебя может и получается. Но ты путаешь теплое с мягким. Если уж сравнивать, то сравнивай PS с различными *sh. И тут сравнивать вообще что-либо нет смысла ибо это родные админки для своих осей.
0
Джоуи
1082 / 644 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
10.06.2018, 17:29  [ТС] 44
Цитата Сообщение от Usaga Посмотреть сообщение
Так и PowerShell получается уделывает всякие C++ и Java...
Хорошо сказано)
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
11.06.2018, 11:02 45
Цитата Сообщение от tmpValue Посмотреть сообщение
Ты предлагаешь стрелять из пушки по воробьям.
Нет. Я ничего не предлагаю.

Цитата Сообщение от tmpValue Посмотреть сообщение
Популярность среди кого?
Вот и мне интересно.

Цитата Сообщение от tmpValue Посмотреть сообщение
Но ты путаешь теплое с мягким.
Нет. Я оспариваю ваш тезис о том, что популярность языка определяется фактом поставки компилятора\транслятора в дефолтной поставке ОС:
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Другое дело востребован ли данный язык у хостеров. А у них в основном PHP..
Цитата Сообщение от tmpValue Посмотреть сообщение
лол, перл по умолчанию поставляется с любой unix-like os, а унылый пых доставляется отдельно.
Большая часть того, что мы видим, написано на С\С++, даже мой любимый C#. Но исходя из утверждения выше, получается что PowerShell популярнее всех этих языков вместе взятых, ибо идёт в винде изкаробки.

Видите абсурдность такого утверждения?
0
6262 / 2137 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
11.06.2018, 13:07 46
Цитата Сообщение от Usaga Посмотреть сообщение
Видите абсурдность такого утверждения?
Но корреляция всё-таки имеется. Отсутствие на данный момент pwsh в коробке с Linux связано с его
недостаточной популярностью в мире Unix. Нет?
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
11.06.2018, 13:12 47
Цитата Сообщение от volodin661 Посмотреть сообщение
Но корреляция всё-таки имеется. Отсутствие на данный момент pwsh в коробке с Linux связано с его
недостаточной популярностью в мире Unix. Нет?
GCC и Java тоже в большинстве дистрибутивов отсутствуют. Они менее популярны, чем перл?
0
6262 / 2137 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
11.06.2018, 13:27 48
вот честно, я бы за powershell священно повоевал, а про perl я и так знаю абсолютно всё, мне неинтересно )

Добавлено через 3 минуты
PS: слово абсолютно тащит на себе полемический контекст, просьба не воспринимать буквально. )
0
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
12.06.2018, 22:09 49
Цитата Сообщение от Usaga Посмотреть сообщение
Нет. Я ничего не предлагаю.
Ты допускаешь что твоя версия использовать перл как шелл вполне реальна. Я опровергаю. Ибо перл это не только шелл, но и полновесный ЯП с плюшками и свистоплясками. Что непонятно?
Цитата Сообщение от Usaga Посмотреть сообщение
Я оспариваю ваш тезис о том, что популярность языка определяется фактом поставки компилятора\транслятора в дефолтной поставке ОС
Я таких тезисов не выдвигал. Популярность и востребованность разные вещи, не?
Цитата Сообщение от Usaga Посмотреть сообщение
Видите абсурдность такого утверждения?
Вижу. Потому что см текст выше.

Добавлено через 4 минуты
Цитата Сообщение от Usaga Посмотреть сообщение
GCC и Java тоже в большинстве дистрибутивов отсутствуют
За gcc лолшто? За java, так по умолчанию поставляется openjdk, а многим надо именно oracle jdk. Опять не видим связи?
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
13.06.2018, 08:07 50
Цитата Сообщение от tmpValue Посмотреть сообщение
Что непонятно?
Почему наличие перла в дефолтной поставке делает его популярнее других ЯП?

Цитата Сообщение от tmpValue Посмотреть сообщение
Популярность и востребованность разные вещи, не?
Нет.

Цитата Сообщение от tmpValue Посмотреть сообщение
За gcc лолшто? За java, так по умолчанию поставляется openjdk, а многим надо именно oracle jdk. Опять не видим связи?
gcc и openjdk\oraclejdk во многих дистрибутивах не идут из коробки. Получается, что С++ и Java рядом не стояли по востребованности\популярности рядом с перлом.
0
Эксперт функциональных языков программированияЭксперт Java
4542 / 2736 / 486
Регистрация: 28.04.2012
Сообщений: 8,645
13.06.2018, 09:18 51
Цитата Сообщение от tmpValue Посмотреть сообщение
но и полновесный ЯП с плюшками и свистоплясками
Основная из которых: «Write ones, read never»?
0
6262 / 2137 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
13.06.2018, 11:22 52
ОК, korvin_,
открой капот:
Кликните здесь для просмотра всего текста
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
package Lingua::EN::Inflexion;
use 5.010; use warnings;
use Carp;
 
our $VERSION = '0.001007';
 
# Import noun, verb, and adj classes...
use Lingua::EN::Inflexion::Term;
 
sub import {
    my (undef, @exports) = @_;
 
    # Export interface...
    @exports = qw< noun verb adj inflect wordlist >  if !@exports;
 
    # Handle renames...
    my %export_name;
    @exports = map { ref eq 'HASH' ? do { @export_name{keys %$_} = values %$_; keys %$_ } : $_ }
                   @exports;
 
    no strict 'refs';
    for my $func (@exports) {
        *{caller().'::'.($export_name{$func}//$func)} = \&{$func};
    }
}
 
 
# Noun constructor...
sub noun ($) {
    my ($noun) = @_;
    return Lingua::EN::Inflexion::Noun->new($noun);
}
 
# Verb constructor...
sub verb ($) {
    my ($verb) = @_;
    return Lingua::EN::Inflexion::Verb->new($verb);
}
 
 
# Verb constructor...
sub adj ($) {
    my ($adj) = @_;
    return Lingua::EN::Inflexion::Adjective->new($adj);
}
 
 
# Convert a list of words to...a list of words in a single string...
sub wordlist {
    my (@words, %opt);
 
    # Unpack the argument list...
    my $sep    = ',';
    my $conj   = 'and';
    for my $arg (@_) {
        my $argtype = ref($arg);
 
           if ($argtype eq q{})     { push @words, $arg; $sep = ';' if $arg =~ /,/; }
        elsif ($argtype eq q{HASH}) { @opt{keys %$arg} = values %$arg }
        else                        { croak 'Invalid $argtype argument to wordlist' }
    }
 
    # Fill in defaults...
    $conj = $opt{conj}   // $conj;
    $sep  = $opt{sep}    // $sep;
 
    # Set the Oxford comma...
    my $oxford = $opt{final_sep} // $sep;
 
    # Construct the list phrase...
    my $list = @words < 3
                    ? join(" $conj ", @words)
                    : join("$sep ", @words[0..$#words-1]) . "$oxford $conj $words[-1]";
 
    # Condense any extra whitespace...
    $list =~ s/(\s)\s+/$1/g;
 
    return $list;
}
 
 
# All-in-one inflexions...
my %word_for_number = (
    0 => 'zero',   5 => 'five',
    1 => 'one',    6 => 'six',
    2 => 'two',    7 => 'seven',
    3 => 'three',  8 => 'eight',
    4 => 'four',   9 => 'nine',
                  10 => 'ten',
);
 
my $normalize_opts = sub {
    my ($opts) = @_;
 
    if ($opts =~ m{ [[:upper:]] }x) {
        $opts =~ s{ [[:lower:]] }{}gx;
    }
    return lc $opts;
};
 
sub inflect($) {
    my ($string) = @_;
 
    my $inflexion = 'singular';
 
    my $transform = {
        'N'  => sub{
                    my ($term, $opts) = @_;
                    carp "Unknown '$_' option to <N:...> command"
                        for $opts =~ /([^cps])/;
 
                    my $word = noun($term);
                    $word = $word->classical if $opts =~ /c/i;
 
                    return $opts =~ /p/i ?  $word->plural
                         : $opts =~ /s/i ?  $word->singular
                         :                  $word->$inflexion;
                },
 
        'V'   => sub{ return verb(shift)->$inflexion; },
 
        'A'   => sub{ return adj(shift)->$inflexion; },
 
        '#' => sub{
                    my ($count, $opts) = @_;
                    $opts =~ s{e}{asw}g;
                    carp "Unknown '$_' option to <#:...> command"
                        for $opts =~ /([^acdefinosw\d])/;
 
                    # Increment count if requested...
                    if ($opts =~ /i/i) {
                        $count++;
                    }
 
                    # Decide which inflexion the count requires...
                    $inflexion
                        = $count == 1 || $opts =~ /s/i && $count == 0 || $opts =~ /o/i ? 'singular'
                        :                                                                'plural';
 
                    # Defer handling of A/AN...
                    if ($count == 1 && $opts =~ /a/i) {
                        return "<#a:>";
                    }
 
                    my $count_word = $opts =~ /w|o/i ? noun($count) : undef;
                       $count_word = $count_word->classical if $count_word && $opts =~ /c/i;
 
                    my $count_thresh = $opts =~ /w(\d+)/i ? $1 : 11;
 
                    # Otherwise, interpolate count or its equivalent (deferring fuzzies)...
                    return $opts =~ /n|s/i && $count == 0  ?  'no'
                         : $opts =~ /w/i && $opts =~ /o/i  ?  $count_word->ordinal($count_thresh)
                         : $opts =~ /w/i                   ?  $count_word->cardinal($count_thresh)
                         : $opts =~ /o/i                   ?  $count_word->ordinal(0)
                         : $opts =~ /f/i                   ?  "<#f:$count>"
                         : $opts =~ /d/                    ?  q{}
                         :                                    $count;
               },
    };
 
    # Inflect markups...
    $string =~ s{ (?<ORIG>
                    < (?<FUNC> (?-i: [#NVA] ) )  # FUNC is case-sensitive
                      (?<OPTS> [^:]* ) \s*
                    : \s* (?<TERM> [^>]+? ) \s*
                    >
                    (?<TWS> \s* )
                  )
                }{
                    my %parsed = %+;
                    my $opts = $normalize_opts->($parsed{OPTS});
                    my $func = $transform->{ uc $parsed{FUNC} } // sub{shift};
                    my $replacement = $func->( $parsed{TERM}, $opts );
                    length $replacement > 0 ? $replacement . $parsed{TWS} : q{}
                }gexmsi;
 
    # Inflect consequent A/AN's...
    $string =~ s{ <[#]a:> \s*+ (?<next_word> \S++) }{ noun($+{next_word})->indefinite }gxe;
    $string =~ s{ <[#]a:> \s*+ \Z }{ "a" }xe;
 
    # Inflect fuzzies...
    state $fuzzy = sub {
        my ($count, $is_postfix) = @_;
 
        return $count >= 10 ? 'many'
             : $count >=  6 ? 'several'
             : $count >=  3 ? 'a few'
             : $count ==  2 ? 'a couple' . ($is_postfix ? q{} : ' of')
             : $count ==  1 ? 'one'
             :                ($is_postfix ? 'none' : 'no')
             ;
    };
 
    $string =~ s{ <\#f: (?<count> \d++) > (?= \s*+ [[:alpha:]]) }
                { $fuzzy->($+{count}) }gxe;
    $string =~ s{ <\#f: (?<count> \d++) > (?= [^[:alpha:]]*+ \Z) }
                { $fuzzy->($+{count}, 'postfix') }xe;
 
    # And we're done...
    return $string;
}

И что, нельзя ничего понять?
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
13.06.2018, 11:42 53
volodin661, такое обилие регулярок.. Это фича перла или особенность данного кода?
0
Эксперт функциональных языков программированияЭксперт Java
4542 / 2736 / 486
Регистрация: 28.04.2012
Сообщений: 8,645
13.06.2018, 13:15 54
Цитата Сообщение от volodin661 Посмотреть сообщение
И что, нельзя ничего понять?
Ага, куча закорючек каких-то.
0
6262 / 2137 / 337
Регистрация: 10.12.2013
Сообщений: 7,370
13.06.2018, 18:01 55
Usaga, да, код такой; это грамматический модуль для англ. языка ( с CPAN срисовал первый попавшийся за авторством Damian Conway. Он аккуратно пишет )

Цитата Сообщение от korvin_ Посмотреть сообщение
Ага, куча закорючек каких-то.
Ну, закорючки - это суровая реальность мира регулярных выражений.
А сам код читается на порядок легче, чем Война и Мир графа Т. ( я помню, как, будучи школьником, меня эти многостраничные сноски с французского доводили до исступления )
0
Эксперт функциональных языков программированияЭксперт Java
4542 / 2736 / 486
Регистрация: 28.04.2012
Сообщений: 8,645
14.06.2018, 00:08 56
Цитата Сообщение от volodin661 Посмотреть сообщение
Ну, закорючки - это суровая реальность мира регулярных выражений.
А сам код читается на порядок легче, чем Война и Мир
Бла-бла. 1) Чего бы не обойтись без регулярок? 2) сравнение с литературным произведением — это сильно, да.
0
Joey
14.06.2018, 02:18  [ТС]
  #57

Не по теме:

Цитата Сообщение от korvin_ Посмотреть сообщение
Бла-бла.
Сильный аргумент, конечно)

0
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
15.06.2018, 00:59 58
Usaga, Расуждать терминами популярности это к школьникам.
Цитата Сообщение от korvin_ Посмотреть сообщение
Основная из которых: «Write ones, read never»?
Я не спец по перлу, но пока проблем не возникает.
Цитата Сообщение от volodin661 Посмотреть сообщение
А сам код читается на порядок легче, чем Война и Мир графа Т. ( я помню, как, будучи школьником, меня эти многостраничные сноски с французского доводили до исступления )
Просто давать это произведение школьнику глупо. Читал после 30ти и проглотил не останавливаясь.
0
Эксперт .NET
12512 / 8698 / 1311
Регистрация: 21.01.2016
Сообщений: 32,690
15.06.2018, 04:07 59
tmpValue, я так понимаю, что обсуждение связи популярности и восстребованности перла и комплектации им дистрибутивов линукса, зашло в тупик?
0
41 / 75 / 15
Регистрация: 04.10.2017
Сообщений: 283
15.06.2018, 13:25 60
Цитата Сообщение от Usaga Посмотреть сообщение
я так понимаю, что обсуждение связи популярности и восстребованности перла и комплектации им дистрибутивов линукса, зашло в тупик?
Эти вопросы обсуждал только ты. В принципе, если не комплексуешь, можешь продолжать общаться с собой.
0
15.06.2018, 13:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2018, 13:25
Помогаю со студенческими работами здесь

Какой язык программирования выбрать
Привет! Учусь на программиста. Преподы надоели со своим делфи. Я хочу научиться по-настоящему...

Какой язык программирования выбрать?
Парни ПОМОЩЬ!!! Учусь на 3 курсе на информатику в экономике, с экономикой у меня все оч плохо,...

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

Какой язык программирования лучше выбрать?
Здравствуйте. Я уже занимался программированием довольно недавно. Знаю основы C++, C#, паскаль...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru