1

Topic: Application field Golang

2

Re: Application field Golang

3

Re: Application field Golang

Hello, A13x, you wrote: A> That is it is considered, what generics are not necessary in practical development? A> and "language in the service of software engineering" assumes  the containers each time when there is a necessity to work with  type? Probably, the Ration does not like everything that comes to to it mind or it was offered others. In its other language, in the Aleph,  is. A> yet I do not understand idea c implicit interfaces. It would Seem, if Go for "clearness" in this connection designers of language refuse ternary operator '?: ' in favor of classical if-else why not to demand explicit instructions of types? It is possible to reformulate this thought more clearly? A> nevertheless some parts of language are pleasant to me. A> who  wrote the big programs on Go? It is interesting, how much to you hindered told above? Hinders, but it is not so strong. Go it seems language with strangenesses at the first acquaintance. But that fact that I on it, the experimental fact, do several times less intermittent errors, than on a C/C ++, plus language  (it is required strongly less literary trash in comparison with the same C/Cs ++) deserves . It thus that I generally do errors in the code a little.

4

Re: Application field Golang

Hello, vsb, you wrote: vsb> Standard containers it is an array and display. sorted set it is possible to implement on interface {} most if very much it is necessary (or to take one of ready implementations). With implementation through interface {} there are two big minuses: 1) static check of types 2) strongly  optimizer life in the compiler, and it at Go and without that toy enough the First, in my opinion, is lost more important.

5

Re: Application field Golang

Hello, vsb, you wrote: vsb> They yet did not invent. Invent - implement. A NIH-syndrome at them there. What there to invent, in Ada-83 already were , with ABI. Now it works with a speed Si.

6

Re: Application field Golang

A>> But all the same their total absence is not clear. Really it is impossible to invent simple in syntax and in implementation a construction of templates with which it will be possible to expand then? vsb> they yet did not invent. Invent - implement. If they Golang position, as practical application-oriented language anything it is not necessary to invent. It is necessary to select from existing variants approaching and accurately to build in this implementation in Golang. For example C templates ++ in a minimum variant (when they were simple changeover of macroes for implementation of containers) or  Java. Moreover, from any programming language simply enough it is possible to remove any functionality, for this purpose at first to implement alternative, old implementation to declare become outdated, and years through 20 to delete from language (during a transient period to make at first a key checking on presence of out-of-date functionality then to make the forced warning of usage deprecated multifunctions which can be disconnected other special key).

7

Re: Application field Golang

Hello, Masterspline, you wrote: M> If they Golang position, as practical application-oriented language anything it is not necessary to invent. It is necessary to select from existing variants approaching and accurately to build in this implementation in Golang. For example C templates ++ in a minimum variant (when they were simple changeover of macroes for implementation of containers) or  Java. Well if to consider that Rob Pajk ++ is necessary C language the native grandfather (and to C language - the father) probably, he and itself knows such banalities.

8

Re: Application field Golang

Hello, Pzz, you wrote: vsb>> Standard containers it is an array and display. sorted set it is possible to implement on interface {} most if very much it is necessary (or to take one of ready implementations). Pzz> With implementation through interface {} there are two big minuses: Pzz> 1) it is lost static check of types Dynamic is not lost. Considering that on dynamically typed languages write huge programs, the small code location of the big problems should not to cause. Pzz> 2) it is strong  optimizer life in the compiler, and it at Go and without that toy enough Well the data structure is necessary, if algorithmic complexity built in does not arrange. If the situation is that, what even castes cause problems, here it is necessary to think already about With or about architecture. Go does not aspire to exploit iron, GC it is already enough of one to understand that it a bit more low league.

9

Re: Application field Golang

Hello, Glory, you wrote: vsb>> They yet did not invent. Invent - implement. A NIH-syndrome at them there. What there to invent, in Ada-83 already were , with ABI. Now it works with a speed Si. And where this of the Hell?  all in language it is easy. The big plus Go in simplicity of learning, and  to it do not promote.

10

Re: Application field Golang

Hello, vsb, you wrote:> a NIH-syndrome at them there.>> What there to invent, in Ada-83 already were , with ABI. Now it works with a speed Si. vsb> And where this of the Hell?  all in language it is easy. The big plus Go in simplicity of learning, and  to it do not promote. A hell - in avionics, aerospace,  and to that similar responsible places. It is applied and works. Ada where is easier than a C ++, C# and even than Python. Once it abused for complexity - complexity in comparison with Si 1970 years.

11

Re: Application field Golang

Hello, Glory, you wrote: Ada where is easier than a C ++, C# and even than Python. Tell, and on what base of experience you came to such output?

12

Re: Application field Golang

Hello, vsb, you wrote: Pzz>> With implementation through interface {} there are two big minuses: Pzz>> 1) it is lost static check of types vsb> Dynamic is not lost. Considering that on dynamically typed languages write huge programs, the small code location of the big problems should not to cause. Well, we also love for that statically  languages that errors of types are caught by the compiler, instead of , or, is worse than that, user Pzz>> 2) is strong  optimizer life in the compiler, and it at Go and without that toy enough vsb> Well the data structure is necessary, if algorithmic complexity built in does not arrange. That? vsb> If the situation is that, what even castes cause problems, here it is necessary to think already about With or about architecture. Go does not aspire to exploit iron, GC it is already enough of one to understand that it a bit more low league. Business not in all juice. At Go naive enough , but it is partly compensated to that he is able to do nontrivial enough things. For example, to analyze functions through a call chain even if calls go between units. The C so cannot, because if it  the declaration exterior in relation to a current file of function he already knows nothing about this function, except its interface. The trouble that if Go meets an interface method call, it has no concept that there this method actually , and what code there finally will be substituted. Therefore on this place optimization "in depth" ends. And it concerns not only , but also escape analysis'. I.e., roughly speaking, if I get local variable and I transfer its address to an interface method the variable will be got in a heap, instead of on a stack. We note, by the way, that  at Go too is made of a heap fondly enough, i.e. In this place it is possible to lose very strongly in productivity (we tell, it can turn out that the code works more slowly, than JavaScript).

13

Re: Application field Golang

Hello, so5team, you wrote:> Ada where is easier than a C ++, C# and even than Python. S> Tell, and on what base of experience you came to such output? On the basis of reading of articles and books, and also some experience of independent development on the Hell for own interest (operation in the Russian Federation in this language to find it is unreal). And on experience of own reading of source codes of the same Gnat Programming Studio, compare e to source codes for example Freeswitch. The code is more often read, than written, I suppose what it is not necessary to explain it to you.

14

Re: Application field Golang

Pzz> Well if to consider that Rob Pajk ++ is necessary C language the native grandfather (and to C language - the father) probably, he and itself knows such banalities. Judging by that talks about Golang 2.0 though they also did not finish the first to mind went, this Pajk is more similar to the student with a laptop under ArchLinux.

15

Re: Application field Golang

vsb> Dynamic it is not lost. Considering that on dynamically typed languages write huge programs, the small code location of the big problems should not to cause. And considering that dynamic languages unanimously began to enter static methods of check of types, static loss of types - so-so the decision.

16

Re: Application field Golang

vsb> the Big plus Go in simplicity of learning, and  to it do not promote. So the generation of schoolboys which was possibilities Golang enough grew already, they  want now.  in the form of changeover of macroes for implementation of containers very simple things, complexities in language do not add.

17

Re: Application field Golang

Hello, Masterspline, you wrote: Pzz>> Well if to consider that Rob Pajk ++ is necessary C language the native grandfather (and to C language - the father) probably, he and itself knows such banalities. M> judging by that talks about Golang 2.0 though they also did not finish the first to mind went, this Pajk is more similar to the student with a laptop under ArchLinux.

18

Re: Application field Golang

Hello, Pzz, you wrote: Pzz> Hello, A13x, you wrote: A>> Yet I do not understand idea c implicit interfaces. It would Seem, if Go for "clearness" in this connection designers of language refuse ternary operator '?: ' in favor of classical if-else why not to demand explicit instructions of types? Pzz> it is possible to reformulate this thought more clearly? In other words: in one case removed possibility to describe the same construction by means of shorter syntax - "?:" vs "if-then-else"  to  clearness, in other case the same clearness (in my opinion much more important)  entering implicit interface. Personally to me this focus typeful more all is not clear, how it seems to me explicit interfaces/traits well at least in that type as they are in last  perfectly work.

19

Re: Application field Golang

Hello, Masterspline, you wrote: vsb>> the Big plus Go in simplicity of learning, and  to it do not promote. M> so the generation of schoolboys which was possibilities Golang enough grew already, they  want now.  in the form of changeover of macroes for implementation of containers very simple things, complexities in language do not add. Our grandfathers could make the plane by means of a fret saw of plywood. And  generation on the machine tool with  a simple nested doll do not turn. But are ready to argue, that in this machine tool does not suffice them.

20

Re: Application field Golang

Hello, vsb, you wrote: vsb> Hello, A13x, you wrote: A>> absence of standard collections (by analogy as they are presented in Java collections, C#, a C ++ STL) is not clear. A>> at Reusage even simple collections uneasy enough - look for example at how to declare the type heap. vsb> What exactly uneasy and as though you suggested it to make better? Well in my opinion here in this bed-sheet more low all superfluous, except two things: functions Less and member type  int://An IntHeap is a min-heap of ints. type IntHeap [] int func (h IntHeap) Len () int {return len (h)} func (h IntHeap) Less (i, j int) bool {return h [i] <h [j]} func (h IntHeap) Swap (i, j int) {h [i], h [j] = h [j], h [i]} func (h *IntHeap) Push (x interface {}) {//Push and Pop use pointer receivers because they modify the slice's length,//not just its contents. *h = append (*h x. (int))} func (h *IntHeap) Pop () interface {} {old: = *h n: = len (old) x: = old [n-1] *h = old [0: n-1] return x} I would make so (with hypothetical templates): type MyHeap Heap <int,/*Less*/func (lhs, rhs) {return lhs <rhs;}>

21

Re: Application field Golang

Hello, A13x, you wrote: A> In other words: in one case removed possibility to describe the same construction by means of shorter syntax - "?:" vs "if-then-else"  to  clearness, in other case the same clearness (in my opinion much more important)  entering implicit interface. A> Personally to me this focus typeful more all is not clear, how it seems to me explicit interfaces/traits well at least in that type as they are in last  perfectly work. Thought about cleaned/pohereli to me it is clear. To me the thought about implicit interface is not clear. That does not suffice? A method to tell, what such type implements such interface?

22

Re: Application field Golang

Hello, Glory, you wrote:>> Ada where is easier than a C ++, C# and even than Python. S>> Tell, and on what base of experience you came to such output? On the basis of reading of articles and books, and also some experience of independent development on the Hell for own interest (operation in the Russian Federation in this language to find it is unreal). Was it was thought that on Ade someone in the Eastern Europe something develops.

23

Re: Application field Golang

Hello, A13x, you wrote: A> I would make so (with hypothetical templates): A> A> type MyHeap Heap <int,/*Less*/func (lhs, rhs) {return lhs <rhs;}> A> And I would prefer, that MyHeap generated exactly one copy of the code which would work with all compatible types, instead of on a copy  each variant of disclosure  as it does a C ++. Here it would be cool, if it was possible to write something of type: type MyHeap <type T: I>..., where I is the certain interface defined earlier, and described thus MyHeap the code of methods  so as if it would work with the interface (i.e., once) works with any type T which satisfies to the interface I, and, but in invocation point is checked that specific types are used how is declared in type declaration MyHeap and its methods.

24

Re: Application field Golang

Faced such problem that I can not unsubscribe from messages from a forum. I press on a fat dog, very strongly I press. And it all the same not .

25

Re: Application field Golang

Hello, so5team, you wrote: S> was it was thought that on Ade someone in the Eastern Europe something develops. As far as I know, it is loved in the Netherlands, by France, probably Scandinavia well and certainly - in the USA. To the Russian Federation on it wrote only ours  (however on what they only write, here nearby there was a subject from the person whom compiler PL/1 for Russian Space Department finished), but personally I try to steer clear of the state and to  would go only on any special conditions.