Jaka jest definicja języka niszowego?

1

Były już dyskusje czy lepiej pracować w niszowej technologii czy mainstreamowej. A ja jako że uwielbiam definicję to chciałbym wiedzieć które technilogie to te niszowe. Najlepiej nie poprzez wyliczankę tylko przez definicję. Bo z wyliczankami jest tak że jedni piszą że Scala to nisza a inni że już nie nisza. Od razu proponuję pierwszy zarys definicji. A może bardziej definicję pierwszej właściwości języka niszowego:

języki niszowe to te co mają słabe IDE

Czyli:

  • Scala - Nie niszowa
  • Haskell - nisza, jak w tym memie:
    • Nigdy nie pytaj kobiety o wiek
    • Nigdy nie pytaj mężczyzny o to ile zarabia
    • Nigdy nie pytaj programisty Haskella o jego IDE
0

Mniej niż 1% w TIOBE.

To Ruby, Perl, Lua, Prolog, Kotlin, Rust, Groovy, Scala, Haskell, Clojure byłyby niszowe

3
KamilAdam napisał(a):

Mniej niż 1% w TIOBE.

To Ruby, Perl, Lua, Prolog, Kotlin, Rust, Groovy, Scala, Haskell, Clojure byłyby niszowe

No, większość z nich uznałbym za niszę (mimo, że mają dobre IDE).

0

A kiedy jest slabe IDE? I co jesli mozna uzywac wiecej niz jednego IDE, a niektore z nich beda slabe? Albo jesli wiekszosc IDE bedzie slabe?

3
tmk3 napisał(a):

A kiedy jest slabe IDE? I co jesli mozna uzywac wiecej niz jednego IDE, a niektore z nich beda slabe? Albo jesli wiekszosc IDE bedzie slabe?

Wg mnie to jest całkiem dobra przesłanka do uznania język za niszowy. Brak rozwiniętego toolingu, którego podstawą jest IDE, to problem, który rozwiązywany jest przy odpowiednio dużym community. Im bardziej niszowy język tym większa szansa, że znajdziemy do niego co najwyżej kolorowanie składni w jakimś edytorze.

Jeśli chodzi o niszowe języki to zależy o jakiej niszy mówimy. Osobiście uważam, że wszystkie języki w których znalezienie pracy jest problemem są niszowe. A w tej niszy znajduje się jeszcze jedna nisza, czyli języki w których praktycznie nikt nie pracuje komercyjnie. Ciężko też mówić o niszy zero-jedynkowo, to raczej płynnie przechodzi i przy pewnej granicznej popularności przechodzimy z mainstreamu do niszy.

2

Niszowy to bym powiedzial z wieloletnia historia bez dobrego toolingu lub wielu ofert pracy lub tematow na SO.

Jak cos guglasz na temat danego jezyka i wyskakuje Ci glownie strona Tfurcy to raczej masz do czynienia z niszowym jezykiem.

Jezyki w fazie wczesniego rozwoju maja podobna charakterystyke ale tez wieksza szanse na jej zmiane.

0

TIOBE jest o kant d**y rozbic

Jest jeszcze PYPL. Wymienię wszystkie języki poniżej jednego procenta bo jest ich mniej niż w Tiobe:
Ada, Scala, Dart, Abap, Visual Basic, Lua, Groovy, Perl, Julia, Haskell, Cobol i Delphi/Pascal który jest poniżej poziomu * :P

* żart, W Q&A piszą że ranking obejmuje tylko 28 języki, ale w rankingu mają 27, a w porównywarce znów 28 i widać że Delphi/Pascal spadł do prawie zera. Zgłosiłem im potencjalnego buga. BTW ponieważ ranking jest robiony na podstawie ilości wyszukiwania, można zażartować że programisci Delphi/Pascal po prostu wiedza już wszystko i nie potrzebują używania już Google :D

0

Wszystko poza Java i JavaScript

0

Niszowość to spektrum i dyskretne wartości zależą tylko od tego kto je wymyśla. IMO warto powiązać "niszowość" z zastosowaniem. Przykładowo C jest niszową technologią, jeśli chodzi o webdev ale dominującą jeśli chodzi o systemy operacyjne. Wspomniana Scala na pewno nie jest niszą, jeśli chodzi o Sparka i podobne

Najlepiej IMO podzielić języki na rózne tiery względem cech, którymi wyróżniają się popularne języki:

  • duża liczba bibliotek
  • dużo postów na stackoverflow czy ogólnie te metryki, których używa tiobe czy pypl
  • wsparcie dla tooli, choć tutaj zmieniłbym na "wsparcie od całkowicie zewnętrznych podmiotów". Dużo nowych języków ma fantastyczny tooling (np. lepszy niż C), ale to zaangażowanie zewnętrznych firm (np. JetBrains pisze własne IDE do C) wskazuje popularność
1

Zamiast Tiobe (które jest jakimś żartem) lepiej się chyba sugerować ankietą na StackOverflow:
https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language

myślę, że popularne to zaczynając od C i idąc w górę.
a niszowe to PowerShell i mniej popularne (no i Ruby okazuje się, że obecnie jest już językiem niszowym)

0

Według mnie Lua o ile w "normalnym programowaniu" jest niszą, to w game devie chyba nie jest.

@Spine: thoughts??

1

@1a2b3c4d5e: Nie jestem na bieżąco...
Spotkałem się z lua w kilku grach:

http://www.grimrock.net/modding/scripting-reference/

https://wiki.wesnoth.org/LuaWML

Widziałem też framework do gier oparty o lua: https://love2d.org/

Znam tylko jedną grę, która w tym powstała. Mario z mechanizmem portali: https://stabyourself.net/mari0/

Jeśli lua jest używana w poważnych współczesnych produkcjach, to nie wiadomo mi o tym - nie sprawdzam assetów każdej gry ;)

Powyższe przykłady są dość stare i nie są wyprodukowane przez liderów branży.

1

języki niszowe to te co mają słabe IDE

Można pisać bez IDE, albo można użyć uniwersalnego IDE jakim jest VSCode. IDE nie świadczy o samym języku.

2

@Manna5: pisałeś coś większego bez porządnego IDE? A pisałeś coś większego z porządnym IDE? Różnica jest ogromna. Zintegrowany debuger, zintegrowane formatowanie kodu, zarządzanie importami, sensowne podpowiadanie składni, itd

0

Php

0

Icon z mechanizmem Goal-directed execution("Wykonanie ukierunkowane na cel");

0

Jak na świecie programuje w nimi więcej jak 10 osób to już jest za bardzo mainstremowy

1

A co cechuje "dobre IDE"? Bo to trochę szerokie pojęcie. Smalltalk ma całkiem dobre IDE, a raczej nie nazwałbym tego językiem mainstreamowym. Dodatkowo, czy jeśli mówimy o IDE to mamy na myśli tylko "zintegrowane" środowiska? Aka paczki gdzie wszystko jest w jednym miejscu, czy dopuszczamy możliwość, że trzeba sobie "samemu" złożyć z klocków takie "IDE"? Czy LSP zaliczamy do "IDE" czy nie? Dużo pytań, mało odpowiedzi.

2

@hauleth:

A co cechuje "dobre IDE"?

m.in

Intellisense, collection of refactorings, strong debugger (breakpoints, conditional breakpoints, code modification at fly, go to line, expression evaluator), go to definition, json/xml/csv to class, etc.

Czy dopuszczamy możliwość, że trzeba sobie "samemu" złożyć z klocków takie "IDE"?

jeżeli trzeba zrobić coś więcej niż pobrać 3 paczki ze strony języka, to nie, nie dopuszczamy.

next:

czy LSP to IDE - hmm, jeżeli w praktyce działa, to OK, chyba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1