|
Calin Negru wrote: Ok, that was unfriendly on my behalf. Did you consider the option that you were right?
If something is important to you, it's a passion, right? So, we speak with passion, and wars break out over the placement of a newline in code. I'm not apologizing, and you have nothing to apologize for either.
Calin Negru wrote: However you have to admit your approach isn’t exactly teachers style. I'd panic if someone told me I had to stand in front of a classroom again
..but seriously, write it yourself and start simpeler than Dijkstra. The easiest path-finding algo is to simply "try all nodes and measure them". That will cost a lot of memory and computing power, but it would work and the result is the optimal path. Go for it; every stop is a node, and we weigh distance.
Next step is to try to optimize that. I'm pretty sure you can eliminate all those paths that go the wrong way for a certain distance. Then write Dijkstra's algo.
Once you understand the optimization, you understand it's implications and limitations. So, asking that question means either you or the teacher is trying a shortcut. Maybe the teacher is right.
..but this approach works every time. Anything else is parroting a textbook IMO.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
edit: You start with two rhetorical statements (two questions) one after the other, usually that’s not how an argument is made.
I had to say it.
> we speak with passion
In my opinion passion is one thing it has a positive meaning, lashing out by breaking the boundaries of politeness (which is what I did) is something else.
modified 20-Jan-23 13:56pm.
|
|
|
|
|
Ah. Now I understand the point you're making. So now the student is teaching me? I just write what comes to mind, sometimes emotion gets mixed in. I don't recognize the rhetorical question as one, just like I do not recognize passive-aggressive.
I've never had a real education, something I intend to remedy this year and which will take more than just "this" year. There's some area's where my skills could be improved upon, so to speak. See the first line in my sig for a hint why.
Given your reaction, you're ahead of me on that point. Take heart in that.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
>So now the student is teaching me.
Not at all. We are all different and have our own way of expressing ourselves. Your argument might still be valid, however the way you express it makes it difficult( not impossible) to follow
|
|
|
|
|
Calin Negru wrote: In my opinion passion is one thing it has a positive meaning,
Rather certain that almost everyone would be comfortable with the statement that Hitler's speeches were passionate. But many would not claim that the passion was positive.
|
|
|
|
|
jschell wrote: But many would not claim that the passion was positive. It certainly was to his adoring followers.
|
|
|
|
|
jschell wrote: But many would not claim that the passion was positive. Many would be wrong then.
You can hardly blame "passionate speaking" for the results.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
>Hitler’s speeches were passionate
Some people think it was cold, calculated strategy
|
|
|
|
|
I would consider the response concise and on point.
But however I can see that someone with less experience perhaps in forums and/or with development might not understand what was implied.
|
|
|
|
|
> I would consider the response concise and on point.
If you’re talking about the reply [2 Jan 23:48] , nothing unusual with that reply in its own right. When you corroborate that reply with what he said in the data base thread you will notice a gambling tendency. He’s providing feedback on questions that are not there.
In [2 Jan 23:48] he makes the assumption I did not write a Dijkstra implementation already, he has no grounds to make that assumption.
Again I’m not saying he’s doing it on purpose. However it’s difficult to cope when you’re trying to learn something and you’re only receiving evasive answers.
When the answer is 100 percent between the lines you can’t learn much
|
|
|
|
|
Calin Negru wrote: When you corroborate that reply with what he said in the data base thread you will notice a gambling tendency. He’s providing feedback on questions that are not there.
Conversations of any sort are always based on assumptions.
The post I read made sense to me as a response given to the post that I read. I understood immediately what he was saying.
But, as I said, that is likely due to the decades of experience that I have.
Calin Negru wrote: When the answer is 100 percent between the lines you can’t learn much
The reality is that forums, all forums of any sort, cannot attempt to explain absolutely everything to every single question. There is not enough time in the universe.
And as an very specific example that you will encounter often is that responses, instead of answering the question, will attempt to explain why it should be done in a different manner. Those responses are in fact very often correct. And quite possibly are often correct even for the question asked. But sometimes there are reasons that the original post did not provide which mean they are wrong. So wasting everyone's time. But again that is a case of assumptions being made.
|
|
|
|
|
To my mind there are two ways to react to a question in a forum.
As a person who is trying to help you can either show your cards all at once or keep your cards to yourself and provide clues about The cards you’re holding.
As a person seeking help if the answer you got is from the second category, you have to either come up with a second question or move on to other things.
If you file a second question the person helping you can find it constructive ( the person feels that the second question is taking into account the hints you have been already given) or not.
When your second question is perceived as constructive usually you receive an explicit answer ( the person that is helping you shows you the cards or at least offers you more clues)
When your second question is not perceived as constructive you get dismissed. There is no point in keeping the discussion going from there on.
When you keep the discussion going for too long and all your answers are 100 percent implied and rhetoric your contribution in revealing the truth is null.
|
|
|
|
|
Bonjour,
j'aimerais créer trois fonctions, afficherMenu()
convertirEurosEnFrancs(float)
convertirFrancsEnEuros(float)
Le menu il doit s'afficher sous la forme
[1] € -> F
[2] F -> €
[q] quitter
je sais pas du tout comment faire es ce possible d'avoir un code en langage c svp
merci beaucoup
|
|
|
|
|
While we are more than willing to help those that are stuck, that doesn't mean that we are here to do it all for you! We can't do all the work, you are either getting paid for this, or it's part of your grades and it wouldn't be at all fair for us to do it all for you.
So we need you to do the work, and we will help you when you get stuck. That doesn't mean we will give you a step by step solution you can hand in!
Start by explaining where you are at the moment, and what the next step in the process is. Then tell us what you have tried to get that next step working, and what happened when you did.
If you are having problems getting started at all, then this may help: How to Write Code to Solve a Problem, A Beginner's Guide[^]
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
You only need a few things. You need to be able to get a number as input, to be able to output a string and number, and be able to do very simple math. If you can't do any of these parts, you need to talk to your teacher, not ask a bunch of strangers to do your work for you.
|
|
|
|
|
There are web pages that do that; take some clues from them.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
The others just being kind
In development, all is in English. You do not have to agree with it, since I don't, but that's the way it is. I've no time for french, and you too darn lazy to translate.
Non. Nein. Nee. No.
Not in French. If you do not speak English, then stop writing code and get off my internetz.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
From a factual point of view, you are perfectly right.
Nevertheless, I disklike the fact. It does express a kind of cultural imperialism, which I think is without justification.
There has been attempts - usually unsuccessful - to allow people to express their problem solutions in their own language. Algol68 was specified in abstract language tokens, and there was made at least one compiler with all keywords in German.
In my student days, we made a preprocessor for Pascal replacing Norwegian (actually 'Nynorsk' - the south-west dialect-based variant of Norwegian) into the English equivalent before forwarding the source to the standard compiler. It was rather primitive, translating even words in string constants ...
Some applications were 'localized', including their script languages. For a number of versions, Excel formulas were stored with localized function names, so a sheet could not be moved to an Excel instance of a different locale.
My hope (but I am not very optimistic!) is that all application programming will move over to an abstract representation where the language form is merely a display phenomenon; the program itself is stored in an abstract, language independent form. For keywords, this is simple, but it would require a mechanism where code maintainers could assign alternate, language dependent tokens for programmer assigned names of variables, methods, constants, comments, ...
In application development, the great majority of your communication is done in the local language. Communication with users and co-developers would benefit greatly from using the language that they all master the best. This also includes solution examples, in the form of program code.
For core software, such as operating systems, maybe compilers, we may use English sort of as an 'assembly language' - low level stuff of no interest to the everyday programmer or customer. And, just as different CPUs have different instruction sets, if an OS is programmed in a German-based language, it shouldn't bother anyone any more than X64 instruction set extensions.
You are left with the problem when you ask for help from someone who knows nothing but English. The helper may see your code in English terms, but incapable of understanding your problem statement. Maybe you will have to ask someone who speaks your language - and if programming in your native language is common, they may be readily available. And they are far more likely to see the application in the right cultural context, well familiar with aspects such as extended character sets, time and date formats, addressing formats, currencies, gender dependencies, cultural taboos (and non-taboos!), ...
I think the global software culture would be enrichened if we could disengage from the absolute binding to the English-speaking culture.
If we establish language-abstract representations of code and data structures, we wouldn't be isolated in separate islands. Providing alternate language representations of our coding concepts as required for communicating with others who do not master any of the already provided languages, might itself be enlightening. Interpretation of similar concepts may vary significantly among cultures, and the translation might give a deeper understanding of the differences - rather than assuming that the U.S. interpretation is globally valid.
|
|
|
|
|
Some languages do not have words for concepts that exist in other languages. You're adding to a problem with a "universal language interpreter", not solving it.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Gerry Schmitz wrote: Some languages do not have words for concepts that exist in other languages. That's called evolving.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
That's what I said: no common base.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Gerry Schmitz wrote: Some languages do not have words for concepts that exist in other languages That is certainly not limited to programming languages! It is a general problem for any translator of natural languages.
From an end user point of view, you can expect the user to have the required terms in his language. If English (i.e. the programming language) lacks the ability to express the problem concepts, then that is a problem belonging to the programming language, not to the problem solution as experienced by the customer / end user. You simply cannot go to a custormer and say: Sorry, mate, your suggested solution is perfectly fine, but we cannot use it, because the English language doesn't have words for those concepts! We have to solve the problem in a different way!
When programming in a high level language, you will almost always make use of concepts that do not exist in machine code. Even a 'high level machine code', such as .net CIL, lacks a lot of higher concepts. Yet you can express a problem solution that can be handled in CIL. You can even express problem solutions in lots of different languages, and they can all be handled by CIL!
Or moving yet another level up: With the GNU Compiler Collection, each source language - which on the surface may be quite different from other source languages - are parsed down to a parse tree, a format common to all languages.
And then: I never was considering any "universal language interpreter". You need not lump everything from lisp to Algol68 to APL to Erlang into one single structure to get away from programming being forced to be done in English. Different languages have different uses; that should be maintained. It is sufficient that the standard representation of a language such as C# used abstract tokens: Rather than 'w', 'h', 'i', 'l', 'e' in a 7-bit-ASCII-file (you still see that a lot of places!), the representation is [while loop], which can be displayed in various languages. A variable reference is not coded as 't', 'o', 't', 'a', 'l', '_', 's', 'u', 'm', but as [variable 277], which may be assigned the external identifier 'total_sum' for English, and 'totalbeløp' for Norwegian presentation.
I frequently get the feeling that we programmers actively want our code to be unintelligible for the customer (and for that sake, for other programmers of a different clan), so that we maintain full control over it. We do not ask the customer for his opinion about how the problem can be solved; at most we present some top-level box diagrams of how we will solve the problem. We most certainly don't want to discuss algorithms and code structures with the customer and future users!
I think we ought to. I think learning how the customer approaches the problem will improve our code significantly. It could improve the user interface tremendously! Then the customer and end user must understand the solution. It is far from enough that we, the programmers, understand it!
You can use e.g. ER for modelling the user's data (it is so well suited for communicating with end users that it is a pity it has essentially been totally abandoned today). You can describe your solution methods in pseudocode based on the customer / end user's native language. The problem is that most programmers either refuse to do so, calling it doing the work twice (i.e. pseudocoding and programming), or it is just sort of an act of courtesy: When the customer meeting is over, all the pseudocode is thrown away and the programmers do it how they see it fit, not the way the customer and pseudocode indicated.
To me, communicating with the customer / end user is equally or more important than communicating with workmates. And fact is that even when I discuss program code with some other Norwegian workmate, we speak in Norwegian. Usually, we will even use Norwegian words for coding terms such as 'metode', 'variabel', 'løkke' and 'unntak' (exception). If we could write down what we say, it could even be possible to discuss the code with a customer who is not fluent in English!
|
|
|
|
|
trønderen wrote: I frequently get the feeling that we programmers actively want our code to be unintelligible for the customer...I think we ought to.
It has been tried. On large scale and small.
And it continues to be tried.
But it does not work.
I repeatedly run into feature discussions where there claim is made that it must support complex scenarios but must also be 'simple' enough for users to understand it. That has resulted in in the following real cases.
1. Customer is now responsible for learning a programming language and providing programmers for it. Different projects required C#, Java and even a variation (and not a good one) of C. (The solution requires them to write code, application compiles it and dynamically injects it into the application.)
2. Solution is provided that does not provide full functionality for the actual known more complex cases. The customer is told they cannot have that feature.
There is always a point where one reaches that the complexity of the allowed solution requires specialized knowledge and training just to achieve the task. Thus no matter how one wraps it up there must always be a 'programmer'.
trønderen wrote: it could even be possible to discuss the code with a customer who is not fluent in English!
But only if they can program. And except for algorithm discussions they would also need to be a programmer in the language you are discussing.
|
|
|
|
|
jschell wrote: trønderen wrote:I frequently get the feeling that we programmers actively want our code to be unintelligible for the customer...I think we ought to. Rather creative quoting you are doing there! I do not thing we ought to make "our code to be unintelligible for the customer"!
jschell wrote: It has been tried. On large scale and small. And it continues to be tried. But it does not work. I know of lots of end user 'macro' languages that exist in different language varieties; even system functions are localized. People with no programming background are capable of adapting applications to their own needs without having to learn English. It certainly works in the small.
I do not know of any compiler storing the code as a semi-parsed tree of abstract tokens, applying a concrete syntax only in the presentation for a human developer. I am simply unfamiliar with any other large-scale failed try to localize any tool, whether programming tool or tool for other application areas, where a significant deployment of localized versions was pulled back and replaced with English language versions.
If you can point to one example of failure: One failed project does not imply that the principle has no merit. If you are eager to 'prove' that English Is The Answer, you may of course justify you attitude by referring to the failure. Otherwise, you may study the failure to learn why it failed, and what could be done in better ways.
An example: The first release of localized Excel formulas did localize function names. In multi-language corporations, you could not share a spreadsheet between those working in an English context with those in a Norwegian context - the function names from the 'other' language were not found. In your approach, it seems like the proper solution would be to force everyone back to English. Rather, a later Excel version replaced the internal representation of system functions (which was by the localized name) with an abstract reference, sort of like 'built-in 37', which was displayed as 'average' in English versions, 'gjennomsnitt' in Norwegian versions. (In a spreadsheet, 'variables' are referenced by row and column, so the problem of localized variable names does not occur.)
jschell wrote: it could even be possible to discuss the code with a customer who is not fluent in English! My old mother could not distinguish between a PC and an electric heater, but she was fluent in English. When I started programming, in the old Pascal days, she was curious about it, and I spent some time on taking her through a number of Pascal program. She was really fascinated by the orderly, disciplined way of approaching a problem and building a solution! She never programmed a line herself, but she was fully capable of following my walkthrough of a moderately sized Pascal program. But then: Pascal was far more readable than today's C++!
I also had a strongly visually handicapped daughter and had to write her a few support programs. She was at the outset (age from 9-10 years) curious about daddy's work, and got really excited when I was making something for her. Discussing how to structure the solution with her was very simple, and she could see how I shaped that into program functions (even though she never coded a single line herself).
In my professional work, I have been discussing topics like data flow in the city administration and library organization, all with non-computer people. I have been teaching macro programming in an office automation system to users who had never seen an electrical typewriter (so my analogy from the on/off switch on the terminal to the on/off switch of a typewriter failed...). I have been teaching '101 Programming' to people who had never before sat down at a computer (this was around 1990). In other words: I have long experience in making non-computer people understand a computer-systematic way of organizing the user's data structures, breakdown of the total problem into well defined, orderly tasks, discussing alternate solution methods.
I know that users with domain knowledge and experience are very good at understand even tiny little details in a computer solution, if you are willing to listen to them when they tell you something and try to talk in a similar language when you explain your proposals to them. And you are prepared for your proposals being exactly that: Proposals, that the domain expert may have objection to. You are no sort of god, even if you are the one mastering the compiler.
|
|
|
|
|
trønderen wrote: I do not thing we ought to make "our code to be unintelligible for the customer"!
I realize what you are saying.
trønderen wrote: My old mother could not distinguish between a PC
I didn't claim people were stupid. I never do that. I disdain programmers that think users are stupid.
But as I pointed out your idea is not new. COBOL was created with that in mind in that someone besides a programmer could read the code and more easily understand that.
The problem however is still that to actually create an application which is complex the details/process requires that someone somewhere must still be a 'programmer'. And all attempts to move that out of the developer space either result is something that only supports simplistic examples or it requires that someone else (like a customer) must then become a 'developer.'
trønderen wrote: I have been teaching '101 Programming' to people who had never before sat down at a computer
So you were teaching them to be programmers. Not users.
trønderen wrote: I know that users with domain knowledge and experience are very good at understand even tiny little details in a computer solution, if you are willing to listen to them when they tell you something and try to talk in a similar language when you explain your proposals to them.
I have written requirements for entire systems based on user/customer requests. Designed architectures and designs to meet the needs as they describe. While leading them through the process of not only describing what they want and need but also picking through the parts that they understand but have not verbalized such as (the very common need) of how to handle failure scenarios.
But I do that so they can focus on what they do best while others (developers) focus on what they do best.
|
|
|
|
|