• Advertisement

ChaosEngine

Member
  • Content count

    2809
  • Joined

  • Last visited

Community Reputation

5204 Excellent

About ChaosEngine

  • Rank
    Contributor

Personal Information

  • Interests
    Business
    Design
    Programming
  1. C# Basic C# quiz

    To be fair, the first is around the concept of resource management and the use of the using statement. That's a pretty important idiom in C#, again to asking a C++ programmer if they understand RAII. I'm not really worried about missing punctuation or typos, I'm looking to see if they understand the difference between reference and value types. As I said, the point of these questions was as a jumping off point to spark discussion. But thank you for your feedback, I'll take it on board. I'm not really super attached to this quiz myself, it was a request from above to use something like it. Might be time to push back against it.
  2. C# Basic C# quiz

    I would be willing to accept someone who had good programming skills in another language, but the job itself will be mostly in C# (working with an existing code base). Yes, to all of the above. It's clearly stated in the job listing. The thing is, all of the candidates I've interviewed so far, actually have C# experience, but still struggle. As I said, these are expected to be jumping off points. This is definitely not the whole interview, just the C# portion. There are a bunch of other questions around general OO concepts (SOLID, LSP, inheritance v composition, etc).
  3. C# Basic C# quiz

    I've been interviewing a few job candidates recently. I wrote a short list of what I could consider pretty basic C# questions for them. My intention with these questions was to use them as a jumping off point for more interesting discussions, but so far, people have struggled to answer them. So I thought I'd post them here to get some feedback from people. Basically, am I expecting too much? These are pitched at mid-senior developer level. All feedback much appreciated. Technical Interview questions.pdf
  4. Why A.I is impossible

    I don’t disagree at all, and automation is a great topic worthy of discussion. But this thread is about the possibility of AI, not the potential effects. Besides, automation will happen with or without AGI. I feel like it would be better in a separate thread.
  5. Why A.I is impossible

    @conquestor3 what you talking about is automation, not AI. AI is a component of automation, certainly, but that isn't really what this discussion is about.
  6. C# All my logic in static classes.

    Yep, and in theory, there's nothing wrong with that. But in practice, things go wrong and you're suddenly trying to figure out why the model is a different instance.
  7. In a public framework, the enum would be completely out of the question, so I had assumed "sealed code". I'm still interested to hear why @Bregma thinks it's a better solution than a tag.
  8. C# All my logic in static classes.

    Yes, you do, because your class is not pure logic. What you're talking about as "functional" or "how C would operate" is not what you've actually shown in your MainMenuLogic class. In that class, you have a static state... the model. If you want that class to be functional, you should remove the model static member and refactor the class like this: namespace MyGame { public static class MainMenuLogic { [OnLogicCreate] public static void OnCreate(IModel model, string dataUid) { UIData data = model.GetData<UIData>(dataUid); model.UpdateProperty(data, new Dictionary<string, object> { { "ui_callbacks", new Dictionary<string, object> { {"OnButtonClicked", "MyGame.MainMenuLogic#OnButtonClicked"} }} }); } [OnLogicUpdate] public static void OnUpdate(string dataUid) { UnityEngine.Debug.Log("MainMenuLogic.OnUpdate} [OnLogicDestroy] public static void OnDestroy(IModel model, string dataUid) { model.DestroyData(GameUids.MAIN_MENU_DATA); } public static void OnButtonClicked(string buttonName) { if(buttonName == "QuitButton") UnityEngine.Application.Quit(); if(buttonName == "StoryButton") { StateMachine.SwitchState(new StoryGameState()); } } } }
  9. C++ precision

    On this topic, Boost.Format is a header only library, so you don't need to add any libraries, dlls, etc to your project. Just note that Boost.Format is significantly slower than printf. That's not necessarily an issue (most applications don't spend all their time formatting strings), but just be aware of it. Depending on your platform, you could also use Microsofts "secure" versions of sprintf
  10. Why would that be better? Surely it would mean that every time you want to add a new type, you need to edit the enum? Personally, having to edit the definition of a type just to use it feels like a code smell to me.
  11. Input on Adult Content

    Extra Credits did a great video on this topic a few years ago. Worth a look
  12. Why A.I is impossible

    Consciousness and free will are not the same things. I don't believe in free will, but I definitely have a subjective conscious experience of the world. Even if I don't understand or know the mechanisms around why I make a choice, it ultimately subjectively feels like I do. I tend to believe this, I just consider it random rather than "free will". All of my interactions and experiences determine the probabilities of me making a specific choice, but in the moment, the "decision" is made at a physical level which my conscious self interprets as a choice. That said, I don't think that you need either consciousness or free will to create an AGI.
  13. Interest in IDE Drag-and-Drop

    And what are these, basically? To build on what @TerraSkilll said... let's look at the Unreal Engine editor. It's not so much about logic and more about connecting things in a pipeline... take this model, apply this shader to it, etc.
  14. Why A.I is impossible

    Because we don't code the logic. No-one is going to write an AGI the way we write "normal" computer programs. You can't write if (isHappy()) smile(); else if (isAngry()) frown(); AGIs are simply way too complex for this. We don't even know how our existing machine learning algorithms work, and in many ways, we can't know.... the datasets are simply too complex for us. This might also be the reason that we don't understand consciousness. It could be that "consciousness" is simply an emergent property of extremely complex data processing (possibly an abstraction?). I would recommend this as a simple primer to machine learning
  15. Interest in IDE Drag-and-Drop

    What do you mean "drag and drop languages"? Do you mean something like a Visual Programming Language? If so, VB is not that. VPLs don't really work as general purpose programming languages. It becomes too cluttered too quickly, and they tend to be slower to actually program in than regular text-based languages. They DO work well as state-machine definitions, or when connecting already existing components. As for Visual Basic, VB6 is very dead, but VB.net is still quite popular and is being actively developed by Microsoft (though, again, not a visual programming language).
  • Advertisement