60

Je ne connais qu'un seul langage qui permet vraiment de se passer de séparateur de lignes (sans compromis), et c'est le T-SQL. Microsoft conseille malgré tout de terminer ses lignes par ; et c'est obligatoire pour toutes les instructions nouvellement ajoutées à leur implémentation. (Ce n'est pas le cas de Sybase qui au dernières nouvelles ne reconnaissait pas le ; )

En fait, le réel compromis c'est que cest le bordel à parser. On peut difficilement se placer au milieu d'une requete et déterminer algorithmiquement où débute l'instruction et où elle se termine. (Pas sans écrire un parser complet tout du moins)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

61

GoldenCrystal (./60) :
Je ne connais qu'un seul langage qui permet vraiment de se passer de séparateur de lignes


Moi j'en connais deux, le Gfa basic et l'assembleur 68000, vu que tu n'a qu'une instruction par ligne. C'est propre clair et lisible.



GT dehors
avatar
je sais pas depuis que Fadest nous mets de la zik partout dans ses jeux l'univers a été ebranlé (LordKraken)

62

Le GFA ne permet pas de séparer les instructions avec ":" ? Ça serait étonnant pour un BASIC smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

63

Une instruction par ligne, ça veut dire que le séparateur cest \r et/ou \n. tongue
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

64

(ou EOF embarrassed)

65

Zerosquare (./62) :
Le GFA ne permet pas de séparer les instructions avec ":" ? Ça serait étonnant pour un BASIC smile


Non, je viens d'essayer pour vérifier, a part un joli syntax error rien d'autres.

Oui mais le séparateur tu le rentre pas a la main tongue comme ces langages 'de haut niveau' wink ou faut tout taper soi même. Procédure et fonction repliables, bien en avance pour son époque, un peu normal qu'il est été adopté directement. Propre, rapide, clair et concis, son éditeur te laisse pas quitter la ligne tant que la syntaxe est pas correcte, etc...

Même sur un 68000 a 8 Mhz c'est toujours plus rapide comme langage interprété que du java sur une machine a 600 Mhz !!!



GT Fan \o/
avatar
je sais pas depuis que Fadest nous mets de la zik partout dans ses jeux l'univers a été ebranlé (LordKraken)

66

Avec SBT (le Makefile standard de Scala), c'est pire : le séparateur est \n\n (oui, il faut une ligne vide entre chaque instruction couic).
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

67

Heu, c'est n'importe quoi ?! grin sick

68

Qu'est-ce ce qui peut imposer ce genre de contrainte, j'imagine qu'il y en a une vraie, et pas juste "le dev était trop con" ?

69

./65 > Tu rentres à la main, oui, mais l'approche du C et de ses dérivés, c'es que le "whitespace" est décoratif et don ignoré (ce qui est considéré comme "whitespace" dépend du langage en question), ce qui en contrepartie te permet de présenter ton code un peu comme tu veux et assez facilement. En échange, on définit un (ou plusieurs) délimiteurs de ligne, dont le fameux point-virgule.
Bla bla

Pour donner un exemple, en T-SQL, le code ci-dessousSELECT TOP 10 A FROM B WHERE C
Est exactement équivalent au code ci-dessousSELECT TOP 10 A FROM B WHERE C
Mais ça va plus loin, car le code-ci dessous:SELECT A, B, C FROM D CREATE TABLE #Temporaire ( A INT NOT NULL IDENTITY PRIMARY KEY, B NVARCHAR(100) NOT NULL ) INSERT INTO #Temporaire SELECT DISTINCT Z FROM E ORDER BY Z DROP TABLE #Temporaire
Peut aussi s'écrire (dégueulassement) comme ça:SELECT A,B,C FROM D CREATE TABLE #Temporaire(A INT NOT NULL IDENTITY PRIMARY KEY,B NVARCHAR(100) NOT NULL) INSERT INTO #Temporaire SELECT DISTINCT Z FROM E ORDER BY Z DROP TABLE #Temporaire
Bref… Ça, c'est un langage sans aucune contrainte particulière de séparation, mais c'est compliqué smile


./68 > C'est peut-être pour imposer un style. (La raison alors pourrait-être très conne)
Mais vu ce qu'une recherche sur GitHub donne, on peut se poser des questions:
https://github.com/sbt/sbt/wiki/Improving-.sbt-format-%28take-2%29
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

70

j'ai vraiment l'impression que c'est pour avoir un style plus concis (pas de \ pour la continuation de ligne).
Mais du coup, t'as des lignes blanches…


Bon, je rajoute ça à ma TODO list : faire un système de build pour Scala, mais en Python… (utiliser SBT pour faire une simple archive me prend plus d'une minute couic)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

71

flanker (./70) :
j'ai vraiment l'impression que c'est pour avoir un style plus concis (pas de \ pour la continuation de ligne).

s/cis// grin
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

72

grin

73

[error] (compile:compile) java.lang.StackOverflowError
[error] Total time: 110 s, completed 7 avr. 2015 23:40:49
Traceback (most recent call last):

J'ai voulu coder en dur une HashMap[String, String] avec 6000 valeurs à l'intérieur (je sais, c'est crade, mais c'est le temps d'un test).
Bah non, c'est pas possible tritop
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

74

6000 valeurs ? Mais tu as perdu la raison mon pauvre, c'est énorme pour un ordinateur de 2015 embarrassed
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

75

Si c'est comme JAVA, je suggère de jeter un oeil à -Xmx.

76

Ça augmente la taille de la stack ?

(enfin, quand même, on parle de la compilation d'une hashmap à 6 000 valeurs, si on doit augmenter la RAM pour ça… couic)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

77

Bah ça change la ram permise, donc avec un peu de chance la taille de la stack oué.
Cela dit les trucs étant alloués sur le tas en java, je ne sais pas ce que la taille de la pile vient faire là dedans... Tu es sûr de ne pas plutôt récursiver un peu beaucoup ?

78

Tu veux dire que Flan aurait le problème du serpent qui se mord la queue ?
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

79

grin

Flanker > Ah non en fait c'est à la compilation que ça déconne et tu as vraiment écrit tes 6000 cas dans le source ? grin

80

Moi ? Non, je fais juste HashMap("key1" -> "value1", "key2" -> "value2", …, "key6000" -> "value6000").

Par contre, le compilateur a l'air de faire en récursif pour analyser le type de la HashMap.

(cross : oui, j'ai honteusement fait un copier-coller dans mon code, juste histoire de faire un test)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

81

Un compilateur qui fait un stack overflow ? Oo
C'est vraiment n'importe quoi quand même grin
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

82

Je suis sûr qu'en java ça passerait embarrassed

83

à quand un Scala++ ? wink
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca